c语言代码re通常什么错误,求帮助 C语言realloc和free触发断点的问题

在自学C语言时,遇到了使用realloc动态扩展数组时触发断点及free释放内存时同样出现问题。文章详细描述了这两个问题,并提供了相关代码。问题在于realloc的使用不当导致数组越界,以及myRealloc函数参数错误。解决方案是正确使用realloc避免数组越界,并修正myRealloc函数的参数以防止内存越界。
摘要由CSDN通过智能技术生成

LZ目前自学C语言  在写小程序的时候遇到一些问题  请各位大神赐教一下 非常感谢

关联问题1:realloc触发断点问题

描述:LZ想要通过realloc实现动态数组 结果发现程序运行在realloc的时候 经常会停掉 为此调试后发现 运行到realloc处会自动触发断点 然后程序就无法继续运行下去了 代码如下

#include 

#include 

#include 

#pragma warning(disable:4996)

int main(void)

{

int bufLen = 10;

int *nums = calloc(sizeof(int), bufLen);

for (int i = 0; i 

{

*(nums + i) = i;

if (i == bufLen - 1)

{

realloc(nums, bufLen * 1.5);

bufLen *= 1.5;

printf("%d\n", bufLen);

}

}

puts("--over--");

return 0;

}

问题截图如下

c0a9ce4a94133b0a44b391d0877923ab.png

关联问题2:free释放触发断点问题

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值