IAR430中的动态内存分配问题

frankpjl frankpjl 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#include <stdio.h>
#include <stdlib.h>

int main()
{
int *p1, *p2, *p3, *p4;

p1 = (int *)malloc(sizeof (int));
p2 = (int *)malloc(sizeof (int));
printf("p1: %#x\np2: %#x", p1, p2);
free(p1);
p3 = (int *)malloc(sizeof (int));
printf("\np3: %#x",p3);
p4 = (int *)malloc(sizeof (int));
printf("\np4: %#x",p4);

while(1);
}

这是我才IAR430中写的一段测试malloc函数的程序。
结果如下:
p1: 0x1106
p2: 0x110c
p3: 0x1112
p4: 0x1118
这就说明IAR430 中 free()函数无效吧?这样下去,只要malloc过的内存不都无法使用了?是不是malloc需要像windows系统一样的内存管理支持?
...全文
评论 5
收藏 已收藏
分享
返回顶部
frankpjl
C语言 70,039 成员 243,237 内容