我看着這樣的事情之前,我貼這個帖子,但沒有找到..解放出來一個結構數組用C
我:
struct foo* fooArray= malloc(sizeof(*fooArray)*5);
struct foo* newFoo = malloc(sizeof(*newFoo));
fooArray[0]=*newFoo;
struct foo* newFoo2 = malloc(sizeof(*newFoo2));
fooArray[1]=*newFoo2;
如何釋放各元素的fooArray?
free(&fooArray[0]); // Gives me error
free(fooArray[0]); // Doesn't compile
你爲什麼要在'newFoo'中分配一個指針?我想你應該像'malloc(sizeof(foo))'中那樣分配'foo'結構。 – Dacav
這段代碼幾乎沒有任何意義 – harold
Do:'free(fooArray);'。 'free()'需要malloc系列函數返回的指針。我不確定你的意圖是什麼與所有這些任務...如果這正是你的代碼看起來像那麼你有更多的問題... –