int *arr[4] ; for(int i = 0 ; i < 4 ; i++){ arr[i] = &i; } for(i = 0 ; i < 4 ; i++){ cout << "arr[" << i << "]=" << arr[i] << "*arr[" << i << "]=" << *arr[i] << endl; }
这个是C++编写的指针, arr[i] = &i; 这个赋值语句,数组arr的4个空间存储的是变量i的内存地址,都是相同的地址。
为什么最后从arr[i]指向的地址取出来的真实值却是0,1,2,3。 不应该都是4吗?
收起
我这运行都是4啊,看下图 另:你第二个for循环里 i 没有定义
报告相同问题?