相关疑难解决方法(0)

free和malloc如何在C中工作?

我试图找出如果我试图从中间"释放"指针会发生什么,请看下面的代码:

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)

我收到一个崩溃,出现未处理的异常错误消息.我想了解为什么以及如何免费工作,这样我不仅知道如何使用它,而且还能够理解奇怪的错误和异常并更好地调试我的代码ץ

非常感谢

c memory malloc free

58
推荐指数
6
解决办法
7万
查看次数

查询与C中的free()相关

如果您尝试释放未使用的内存,会发生什么malloc/calloc

这就是我的意思:

void main()
{
int temp = 0;
int *ptr = &temp;
free(ptr);
}
Run Code Online (Sandbox Code Playgroud)

我以为free()会返回一些错误代码,但free()没有返回值.

c free

3
推荐指数
1
解决办法
210
查看次数

标签 统计

c ×2

free ×2

malloc ×1

memory ×1