Woher wissen Sie, wie viel Speicherplatz Sie mit malloc () zuweisen müssen?
Ich bin ein absoluter C-Neuling und komme aus C #. Ich habe über Memory Management und das Lernenmalloc()
Funktion. Ich bin auch auf diesen Code gestoßen:
char *a_persons_name = malloc(sizeof(char) + 2);
Was ich nicht verstehe, ist, wie viel Speicherplatz dies bereitstellta_persons_name
. Belegt es 2 Zeichen (zB AB) oder etwas anderes?
Ich weiß auch, dass man manchmal "Glück" haben kannmalloc
und nicht zugewiesenen Speicherplatz verwenden (was zu Datenkorruption und Seg-Fehlern führen kann). Woher weiß ich, wie viel Speicherplatz ich zuteile und wie viel ich benötige?