您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> 如何检查指针是文字常量还是malloc分配的

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

来源:网络整理     时间:2016/6/23 20:39:56     关键词:

关于网友提出的“ 如何检查指针是文字常量还是malloc分配的”问题疑问,本网通过在网上对“ 如何检查指针是文字常量还是malloc分配的”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 如何检查指针是文字常量还是malloc分配的
描述:


Void Function(char *str)
在函数内部怎么判断str指向的是文字常量还是malloc分配的空间


解决方案1:

malloc和free是配对使用的,不要随便尝试free你没有分配过的内存,小心程序崩溃

解决方案2:

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

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

相关图片

相关文章