关于网友提出的“ 如何检查指针是文字常量还是malloc分配的”问题疑问,本网通过在网上对“ 如何检查指针是文字常量还是malloc分配的”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 如何检查指针是文字常量还是malloc分配的
描述:
Void Function(char *str)
在函数内部怎么判断str指向的是文字常量还是malloc分配的空间
解决方案1: malloc和free是配对使用的,不要随便尝试free你没有分配过的内存,小心程序崩溃
解决方案2:
c运行库内部对所有malloc做了记录。
但这不是重点,你free一个字符常量会出错!free是没有错误检查的,随意调用free程序崩的很快
解决方案3: VMMap 是进程虚拟和物理内存分析实用工具。http://technet.microsoft.com/zh-cn/sysinternals/dd535533
解决方案4: 代码区:08048000-08049000
堆 区:08ac5000-08ae6000
栈 区:bfcb4000-bfcc9000
全局区:08049000-0808a000
自己对应地址打印出来看看
以上介绍了“ 如何检查指针是文字常量还是malloc分配的”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2014771.html