我试图找出如果我试图从中间"释放"指针会发生什么,请看下面的代码:
char *ptr = (char*)malloc(10*sizeof(char));
for (char i=0 ; i<10 ; ++i)
{
ptr[i] = i+10;
}
++ptr;
++ptr;
++ptr;
++ptr;
free(ptr);
Run Code Online (Sandbox Code Playgroud)
我收到一个崩溃,出现未处理的异常错误消息.我想了解为什么以及如何免费工作,这样我不仅知道如何使用它,而且还能够理解奇怪的错误和异常并更好地调试我的代码ץ
非常感谢
如果您尝试释放未使用的内存,会发生什么malloc/calloc?
这就是我的意思:
void main()
{
int temp = 0;
int *ptr = &temp;
free(ptr);
}
Run Code Online (Sandbox Code Playgroud)
我以为free()会返回一些错误代码,但free()没有返回值.