读书人

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

发布时间: 2013-09-08 15:21:21 作者: rapoo

如何检查指针是文字常量还是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你没有分配过的内存,小心程序崩溃

读书人网 >C语言

热点推荐