1
這是我的代碼:如何使用對INT *指針的免費功能,用C
int size;
int *p1;
scanf("%d",&size);
p1 =(int*)malloc(sizeof(int)*(size-1));
for (i=0;i<size;i++)
scanf("%d",&p1[i]);
free(p1);
程序完美運行,直到最後一行 - 免費的功能。當它到達它時,我得到一個巨大的錯誤窗口,如「檢測到堆損壞」。
我知道自由函數應該得到一個void指針,但我的是int。 我如何釋放它?
謝謝!
永遠不會拋棄'malloc()'的返回! – Rerito