上下文:我仍在学习如何用 C++ 编写代码,并且我知道如果未初始化,变量将被分配垃圾值。
我想知道未初始化的指针会有什么值。
我期望它像任何其他变量一样具有一些垃圾值。 我写了一个简单的代码:
#include<iostream>
using namespace std;
int main()
{
int *pptr;
cout << pptr;
}
输出是:
0x8
每次运行它,它的输出都是一样的。 我真的不知道这里发生了什么。 谁能解释一下吗?
未初始化的指针的值是不确定的。它可以是“任何东西”。事实上,您在程序的每次运行中都会看到相同的事情,但这并不意味着您应该依赖这种行为。 这就是为什么在使用前需要初始化。