首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

怎么检查指针是文字常量还是malloc分配的

2013-09-08 
如何检查指针是文字常量还是malloc分配的Void Function(char *str)在函数内部怎么判断str指向的是文字常量

如何检查指针是文字常量还是malloc分配的



Void Function(char *str)
在函数内部怎么判断str指向的是文字常量还是malloc分配的空间
[解决办法]
代码区:08048000-08049000

堆  区:08ac5000-08ae6000

栈  区:bfcb4000-bfcc9000

全局区:08049000-0808a000

自己对应地址打印出来看看
 
[解决办法]
VMMap 是进程虚拟和物理内存分析实用工具。http://technet.microsoft.com/zh-cn/sysinternals/dd535533

[解决办法]

引用:
那free是怎么做到的 我的函数在free一个文字常量时 发出了abort信号 

c运行库内部对所有malloc做了记录。
但这不是重点,你free一个字符常量会出错!free是没有错误检查的,随意调用free程序崩的很快
[解决办法]
malloc和free是配对使用的,不要随便尝试free你没有分配过的内存,小心程序崩溃

热点排行