|
C-KURS WS 01/02 - Übungen8 - Ergänzungen zur VorlesungAUTHOR: Gerd Döben-Henisch DATE OF FIRST GENERATION: Nov-18, 2001 DATE OF LAST CHANGE: Nov-20, 2001 EMAIL: Gerd Döben-Henisch |
Aufgabenstellung In Ergänzung zur Vorlesung soll hier anhand von Beispielprogrammen gezeigt werden, wie (i) man den Speicherbedarf der verschiedenen Datentypen ermitteln kann, (ii) wie man Zeichenkettenoperationen benutzen kann, um einen kleinen Parser zu bauen und schliesslich (iii) ein ausführlicheres Beispiel zur Nutzung der Datentypen Strukur und Pointer bei der Konstruktion einer Miniwelt. |
types.c: Beispiel für Datentypen und deren Speicherbedarf Im Demoprogramm types.c wird demonstriert, wie man Arrays zu den verschiedenen Datentypen anlegen kann, ferner wie man die Adresse der Arrayelemente mittels Pointer vom gleichen Typ abfragen kann, und wie man aus der Differenz der Adressen zwischen benachbarten Feldern den tatsächlichen Speicherbedarf ermitteln kann. Zugleich wird deutlich, dass der Unterschied zwischen zwei benachbarten Arrayelementen eines Typs TYP auf der Ebene des abstrakten Datentyps 1 beträgt, während er auf der Ebene der realen Speicherelemente davon abhängig ist, wieviele Bytes einem abstrakten Datentyp zugeordnet sind. Zusätzlich wird noch die Funktion sizeof() benutzt, um den Speicherinhalt anzuzeigen. Die Funktion der Funktion sizeof() wird auch am Beispiel komplexer Datentypen wie struct vorgeführt. Abschliessend
wird gezeigt, wie man mit Hilfe des Datentyps union
herausfinden kann, ob es sich bei der darunterliegenden Maschine
um eine Big-Endian oder um eine Little-Endian
Maschine handelt. |
miniparser.c: Beispiel für Zeichenkettenoperationen in einem kleinen Parser Im
Demoprogram miniparser.c wird gezeigt,
wie man mit den Zeichenkettenfunktionen strtok(), strcmp() sowie
atoi() auf einfache Weise einen einfachen Parser bauen
kann.
|
world2.c: Weitere Ausarbeitung der Miniwelt mit Hilfe von Strukturen Im (noch nicht vollendeten) Demoprogramm world2.c findet man reichlich Anschauungsmaterial, wie man mit Hilfe von Strukturen und Pointern eine Miniwelt bauen kann.
|
Verschiedene Aufgaben
|