在字符的情况下也尝试过,它做了什么,在 8 个值之后第 9 个值是正确的,而前 8 个显示垃圾值,就像这里的情况一样,前两个值显示垃圾,而第三个值是原样。因此只有前 8 个字节被释放。为什么会这样?您还可以增加要检查的数组中的索引数。有人请解释一下 FREE() 方法在这里如何工作?
#include<iostream>
using namespace std;
#include<conio.h>
int main()
{
int *arr;
arr=(int *)malloc(sizeof(int)*3);
arr[0]=10;
arr[1]=20;
arr[2]=30;
free(arr);
for(register int i=0;i<3;i++)
{
cout<<arr[i]<<endl;
}
getch();
return 0;
}