【发布时间】:2011-11-30 08:12:52
【问题描述】:
我知道int (*p)[5] 表示一个指向5 个整数数组的指针。
所以我在下面编写了这个程序:
#include <iostream>
using namespace std;
int main()
{
int a[5]={0,1,2,3,4};
int (*q)[5]=&a;
cout<<a<<endl;
cout<<q<<endl;
cout<<*q<<endl;
cout<<**q<<endl;
return 0;
}
在我的机器上结果是:
0xbfad3608
0xbfad3608 //?__?
0xbfad3608
0
我可以理解*q表示a[0]的地址,**q表示a[0]的值,但为什么q的值与a和*q的值相同?在我可怜的心目中,应该是他们的地址!我完全糊涂了。有人请帮助我。请!
【问题讨论】:
标签: c++ pointers pointer-to-array