Arv*_*ong 4 c++ pointers variable-assignment
当我这样做时,它完美地打印出“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) 是否有效纯粹是因为运气。