DEV*_*DEV 0 c malloc free pointers
我有这个C代码:
int main()
{
int *p=(int *)malloc(100); //100 bytes
for(int i=0;i<10;i++)
{
p++;
}
free(p);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
现在我的问题是释放(p)释放所有100个字节或仅90个字节.free()如何知道要释放多少字节..?
这是非法的.
参数free必须是malloc由其表兄弟或空指针返回的指针.在您的示例中,p已更改其值p++.