我遇到了关于 C++ 中指针的问题。代码是:
int * initArray() {
int a [2];
a[0] = 1;
a[1] = 2;
return a;
}
int main () {
int * b = initArray();
cout << b << "---" << *(b) << endl;
cout << b + 1<< "---" << *(b + 1) << endl;
}
输出是
0021FC20---1
0021FC24---1431629120
您可以看到该值是错误的。
当我尝试将init
数组代码放入主函数时,它运行正常。
你能告诉我的代码有什么问题吗?