永发信息网

char *p = (char*)malloc(0); if (p==NULL) { cout<<"NULL Pointer"<<endl; } else

答案:1  悬赏:60  手机版
解决时间 2021-02-04 01:04
  • 提问者网友:情歌越听越心酸
  • 2021-02-03 01:28
char *p = (char*)malloc(0);
if (p==NULL)
{
cout<<"NULL Pointer"< }
else
{
*p ='a';
cout<<*p<<" the size is 0 how could capacity a char???"< }
最佳答案
  • 五星知识达人网友:渊鱼
  • 2021-02-03 01:53
这个问题我遇到过,malloc 0 size的时候,p确实不是NULL。。但是在else分支里,*p='a‘这样的操作已经修改了某个没有申请的内存,可能一次两次运行该段程序不会出什么错误,但是如果是在一个比较大的程序段中间运行,可能会导致一些无法预料的后果。。。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯