私はそれint (*p)[5]
が5つのintの配列を指すポインタを意味することを知っています。したがって、このプログラムを以下にコーディングします。
#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