作业帮 > 综合 > 作业

char *p = (char*)malloc(0); if (p==NULL) { cout

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/22 19:00:30
char *p = (char*)malloc(0); if (p==NULL) { cout
这个问题我遇到过,malloc 0 size的时候,p确实不是NULL.但是在else分支里,*p='a‘这样的操作已经修改了某个没有申请的内存,可能一次两次运行该段程序不会出什么错误,但是如果是在一个比较大的程序段中间运行,可能会导致一些无法预料的后果.
再问: 首先呢 谢谢你的回答。这个题目是我在程序员面试宝典上看到的,然后改了一下。对于你说的“已经修改了某个没有申请的内存”,程序修改中若修改没有申请的内存会直接crush掉 比如。 char *p = (char*)malloc(0); char *q; if (p==NULL) { cout