按照我的理解,
free() 用于释放我们之前使用 malloc 分配的内存。
在下面的代码片段中,我释放了分配的内存。但是即使在释放后我也能够访问指针?怎么可能?
免费在内部如何运作?
#include<iostream>
using namespace std;
int main()
{
int *p=(int *)malloc(sizeof(int));
*p=17;
free(p);
*p=*p+1;
printf("\n After freeing memory :: %d ",*p );
return 0;
}
Run Code Online (Sandbox Code Playgroud)