标题:[求助] 不能使用 free 函数
取消只看楼主
lujunhuan
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-11-30
 问题点数:0 回复次数:6 
[求助] 不能使用 free 函数
#include<stdio.h>
#include<malloc.h>
int main()
{
char a[]="abc";
free(a);
puts(a);
getch();
}

为什么运行后出现“CPU 遇到无效指令”。
如果把 “ char a[ ]="abc" ” 改为 “ char a[ ]="12345" ”则出现乱码。
搜索更多相关主题的帖子: free 函数 include int 
2006-12-12 18:32
lujunhuan
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-11-30
得分:0 

明白,谢谢!

2006-12-12 19:01
lujunhuan
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-11-30
得分:0 

char *p=NULL; p 已经不指向任何地址,
再用 free (p); 不是重复了吗?

2006-12-12 21:37
lujunhuan
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-11-30
得分:0 
是不是这样理解:char *p=NULL; 指针变量 p 有一个地址,但是这个地址里没有任何数值;
free (p); 指针变量里没有地址。
2006-12-12 22:26
lujunhuan
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-11-30
得分:0 
明白了,谢谢!
2006-12-12 22:43
lujunhuan
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-11-30
得分:0 

理解了!

2006-12-13 18:16
lujunhuan
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-11-30
得分:0 
栈有先进后出的特点,堆有什么特点。
它们俩在哪个内存区域上,如“data、bss、栈(stack)”。
2006-12-17 09:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-109075-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.019448 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved