Die Größe eines Mallocs nur mit dem zurückgegebenen Zeiger erhalten
Ich möchte in der Lage sein, die Größe meines Arrays zu variieren, damit ich eines folgendermaßen erstelle:
int* array;
array = malloc(sizeof(int)*10);//10 integer elements
Ich kann dies wie ein Array verwenden, wie Sie es normalerweise tun würden, wenn ich jedoch versuche, die Größe so zu bestimmen:
size = sizeof(array)/sizeof(int);
Ich bekomme die Antwort 1, weil es nicht als auf ein Array zeigend erkannt wird
Wie kann ich die Größe des Arrays ermitteln? (Ich weiß, es ist technisch gesehen kein Array, aber gibt es eine Möglichkeit, die gesamte Größe des zugewiesenen Speicherblocks zu ermitteln?)
Habe ich auch Recht, wenn ich annehme, was ich in der Beschreibung angegeben habe? Wenn ich etwas technisch falsch finde, korrigieren Sie mich bitte.