malloc speicher reservieren?!

#1
Hey zusammen,
ich hätte eine frage zu malloc... Nämlich habe ich diesen Code als "Musterlösung":

C:
int* c = malloc(sizeof(int)*n);
(Es ging einfach gesagt nur darum dieses Array mit Integern zu füllen. )
Ich selbst habe es jedoch so gemacht:

C:
int*  p1 = malloc(3500 * sizeof(int));
Weil ich mir dachte ich muss den speicher angeben den das Feld benutzen darf damit es nicht zum Absturz kommt.
Nun frage ich mich , weil es in der Musterlösung ohne gemacht wurde, muss ich überhaupt den Speicher angeben?
Ich dachte ohne zahl Reserviere ich mit malloc nur Platz für z.B. einen Integer?!
Über Aufklärung wäre ich sehr dankbar!!
Gruß Cobran
 

German

Well-Known Member
c-b Experte
#2
Auch in der Musterlösung gibt es eine Anzahl. Allerdings ist sie hier in der Variable n zu finden, die mit sizeof(int) multipliziert wird. Welche Zahl sich in n findet, musst du dir anhand des restlichen Codes der Musterlösung ansehen.
 
#3
Das n habe ich gestern Nacht komplett übersehen. Aber das ergibt natürlich Sinn. Somit Reserviert man den Speicher dann zu Laufzeit und legt nichts vorher fest... Vielen Dank German
 
Oben