0 c++ pointers return function
我在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;
}
Run Code Online (Sandbox Code Playgroud)
输出是
0021FC20---1
0021FC24---1431629120
Run Code Online (Sandbox Code Playgroud)
你可以看到值是错误的.
当我尝试将init
数组代码放入main函数时,它正确运行.
你能告诉我的代码有什么问题吗?
归档时间: |
|
查看次数: |
270 次 |
最近记录: |