当我们有:
#include <iostream>
using namespace std;
int main()
{
int a[100];
cout << a[0] << endl;
}
我得到“1”。
但是当我这样改变它时:
#include <iostream>
using namespace std;
int main()
{
int a[100];
int* b = &a[0];
cout << a[0] << endl;
cout << *b << endl;
}
我得到类似“-1219451320”的东西,每次运行后都会发生变化。
b
变量的影响是什么,所以a[0]
发生了变化?例如现在,如果我将其更改为以前的代码,结果将再次为“1”。
在这两种状态下,数组都没有初始化!所以不应该有这样的区别。例如在第一个代码中,如果我们得到“-12242311231”,这并不奇怪,但现在......