capypad
0 Tage Serie
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
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.