Woher wissen Sie, wie viel Speicherplatz reservieren mit malloc()?

Ich bin ein totaler C Neuling, ich komme aus der C#. Ich habe gelernt über memory-management und die malloc() Funktion. Ich habe auch kam in diesem code:

char *a_persons_name = malloc(sizeof(char) + 2);

Was ich nicht verstehe, ist, wie viel Speicherplatz dies ist die Zuteilung für a_persons_name. Ist es die Zuweisung von 2 Zeichen (zB. AB) oder etwas anderes?

Ich weiß auch, dass manchmal kann man "Glück" mit malloc und nutzen Speicherplatz (was dazu führen kann, dass Daten beschädigt und die seg faults). Also Woher weiß ich wie viel Platz ich reservieren und wie viel werde ich brauchen?

InformationsquelleAutor Kredns | 2009-08-08
Schreibe einen Kommentar