Woher weiß free, wie viel es gibt?

In der C-Programmierung können Sie eine beliebige Art von Zeiger als Argument an free übergeben. Woher weiß es, wie groß der zugewiesene Speicher ist, der freigegeben werden soll? Immer wenn ich einen Zeiger auf eine Funktion übergebe, muss ich auch die Größe übergeben (dh ein Array von 10 Elementen muss 10 als Parameter erhalten, um die Größe des Arrays zu kennen), aber ich muss die Größe nicht an die übergeben freie Funktion. Warum nicht, und kann ich dieselbe Technik in meinen eigenen Funktionen verwenden, um zu vermeiden, dass ich um die zusätzliche Variable der Array-Länge karren muss?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage