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.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage