指针变量使用之前必须初始化吗?

int *p;
*p = 7;
如上,p不初始化不行吗,它里面的值不能是随机的吗,就像未初始化的局部变量那样,感觉也没啥问题啊

3个回答

因为只有先指向一个存储空间,才能进行后续操作,否则会很多不确定的后果。

刚接触c/c++吧。对于变量p来说它确实有个随机的值,这没有什么问题。然而这表明p指向随机的地址空间,这个随机的地址空间可不一定可用。

上面的代码会有运行时错误。p若未初始化,则默认初始化为NULL,也就是没有指向任何存储空间,此时向其指向的空间写值会发生段错误

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!