Praktikum Programmiersprache C - Liste
Schreiben Sie ein C-Programm, das unter Verwendung der Listenfunktionen
- CreateList
- DeleteList
- InsertHead
- GetFirst
- RemoveItem
einen
Kellerspeicher (last in - first out) nachbildet. Mit einem Dialog
sollen Zeichenketten eingegeben, über den Kellerspeicher
zwischengespeichert, und auf Anforderung ausgegeben werden. Der Dialog
könnte über folgende Kommandozeile, die zyklisch ausgegeben
wird, gesteuert werden:
Enter (I)nsert / (O)ut / (Q)uit:
Bei Eingabe von
(I)nsert wird eine Zeichenkette
zunächst ein einen Eingabepuffer
eingegeben, dann in Speicher, der aus dem heap mit malloc allokiert
wurde, kopiert und seine Adresse im Keller gespeichert.
Bei Eingabe von (O)ut wird die
oberste Zeichenkette im Keller ausgegeben, die Adresse aus dem Keller
entfernt und der Speicher freigegeben.
Bei Eingabe von (Q)uit wird das
Programm
verlassen.
Der Programmdialog soll nicht casesensitiv sein.
Die Listenfunktionen sind in dem Headerfile list.h
deklariert.
Die Listenfunktionen sind in dem Modul list.o
bereits kompiliert
und können mit ihrem kompilierten Programmodul verlinkt werden. Dazu folgendes
Kommando mit dem gcc:
gcc
myProg.c list.o -o myProg
list.h
und verschiedene Versionen von list.o sind im Downloadbereich
zu finden.
Zusatzaufgabe: Entwerfen Sie die Strukturtypen tCnct und tList und
schreiben Sie Ihre eigenen Listfunktionen in einem
getrennten .c-File. Experimentieren Sie mit offenen Listen und Ringlisten.
Sie werden feststellen: Die Ringliste ist viel leichter zu programmieren, wenn
man sie einmal verstanden hat.
Unter make finden Sie eine kleine
Einführung zu make. Make ist das klassische build tool zum Bauen von Anwendungen, die
aus meheren Moduln bestehen.