请讲下对malloc和free的心得 那些基本的就不要讲了 拒绝复制粘贴 请说自己的学到的心得
展开全部
分配内存的时候一定要记得释放,很多人觉得这不是什么问题,写一个malloc然后对应写一个free就可以了,实际没这么简单的,看这样一个例子(我简单的写一下):
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char *p=malloc(1000);
char *q=malloc(500);
int a,b;
.....
..... (表示省略一些无关本题的代码)
if(a>b)
{
.....
.....
printf("a>b\n");
return -1;
}
if(a==b)
{
.....
printf("a=b\n");
return -1;
}
free(p);
free(q);
return 0;
}
这代码编译执行没问题,实际上这个代码隐含大错误 ,代码运行久了后果很严重。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char *p=malloc(1000);
char *q=malloc(500);
int a,b;
.....
..... (表示省略一些无关本题的代码)
if(a>b)
{
.....
.....
printf("a>b\n");
return -1;
}
if(a==b)
{
.....
printf("a=b\n");
return -1;
}
free(p);
free(q);
return 0;
}
这代码编译执行没问题,实际上这个代码隐含大错误 ,代码运行久了后果很严重。
富港检测东莞有限公司
2024-12-25 广告
2024-12-25 广告
ISTA3L是一个基于研究、数据驱动的测试协议,它模拟了由零售公司完成的产品订单被直接运送给消费者时所经历的危险,它允许用户评估包装产品的能力,以承受运输和处理包装产品时所经历的供应链危险,从接收到任何电子商务零售商履行操作,直到最终消费者...
点击进入详情页
本回答由富港检测东莞有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询