c / intermediate
Snippet
Dynamischer Speicher für Strukturen
Die Verwendung von malloc zur Speicherallokation für Strukturen auf dem Heap ist essenziell, wenn Größe oder Lebensdauer der Daten zur Kompilierzeit unbekannt sind.
snippet.c
1
2
3
4
5
6
7
typedef struct { int id; char *name; } User;User *u = (User *)malloc(sizeof(User));if (u != NULL) {u->id = 1;free(u);}
Erklärung
1
malloc(sizeof(User))
Reserviert einen Speicherblock in der genauen Größe, die für eine User-Struktur benötigt wird.
2
u->id = 1;
Verwendet den Pfeil-Operator, um über einen Zeiger auf ein Strukturmitglied zuzugreifen.
3
free(u);
Gibt den reservierten Speicher wieder an das System frei, um Speicherlecks zu vermeiden.