小编Arv*_*ong的帖子

为什么可以将整数值分配给未初始化的指针

当我这样做时,它完美地打印出“2”。

int main()
{
    int *p;
    int x = 2;

    *p = x;

    cout << *p;

}
Run Code Online (Sandbox Code Playgroud)

但是当我第一次将 *p 初始化为 null 时,程序崩溃了。

int main()
{
    int *p=0;
    int x = 2;

    *p = x;

     cout << *p;

}
Run Code Online (Sandbox Code Playgroud)

我想问一下,第一个程序到底成功运行了什么,为什么可以给一个未初始化的指针赋值?

[编辑] 我的问题实际上与我得到的这个过去的考试问题有关。您可以勾选多个答案,看来 (b) 和 (c) 都是正确的。但现在我知道 (c) 是否有效纯粹是因为运气。

在此处输入图片说明

c++ pointers variable-assignment

4
推荐指数
1
解决办法
769
查看次数

标签 统计

c++ ×1

pointers ×1

variable-assignment ×1