Praktikum Programmiersprache C - Strukturen und dynamischer Speicher


Arbeit mit Strukturen

In diesem Praktikum soll die Arbeit mit Strukturen und dynamischem Speicher (malloc/realloc/free) gefestigt werden.
Es ist zunächst ein Strukturtyp zu vereinbaren, der Komponenten für Gedenktage (Geburtstage ect.) modelliert:
Name (char*) der eigentliche Speicher soll mit malloc in der Länge des Strings bereitgestellt werden.
Tag (short), Monat(short), Jahr(short)
Notiz (char*) (Speicher per malloc bereitgestellt)

Die Gedenktage sind sind in einer Schleife zu erfassen und der dafür benötige Speicher mittels realloc bereitzustellen.
Die Abbildung zeigt zwei erfasste Datensätze.
          
typedef struct
{
    char* name;
    int day;
    int mon;
    int year;
    char* note;
}tPers;
          
          
          


Am Ende des Programms ist die Liste der Gedenktage tabellarisch auszugeben.
Alle ausgefassten Speicherbereiche sind am Programmende wieder mittels free freizugeben.

./a.out
name: Hans
day : 07
mon : 12
year: 2001
note: Geburtstag
continue (y/n): y
name: Opa Otto 
day : 3
mon : 2
year: 2022
note: Opa gestorben
continue (y/n): y
name: Svenja und Thorben
day : 22
mon : 5
year: 2020
note: Eltern Hochzeitstag
continue (y/n): n
Hans                : 07.12.2001, Geburtstag
Opa Otto            : 03.02.2022, Opa gestorben
Svenja und Thorben  : 22.05.2020, Eltern Hochzeitstag
  

Zusatzaufgaben:

Speichern Sie die Daten gestreut (Verwendung von malloc) und verwalten Sie sie mittels eines Pointerarrays, das auch via realleoc jeweils vergrößert wird.
Ergänzen Sie die Daten um einen next-Pointer und bauen Sie eine verkettete Liste.


A. Beck