このプログラムを実行するまで、配列とポインターは基本的に同じものだと思っていました。
int main() {
int* a = new int(19);
int b[1];
b[0] = 19;
printf("*a: %d\n a: %p\n &a:%p\n", *a, a, &a);
printf("*b: %d\n b: %p\n &b:%p\n", *b, b, &b);
delete a;
}
出力は次のとおりです。
*a: 19
a: 0x7f94524000e0
&a:0x7fff51b71ab8
*b: 19
b: 0x7fff51b71ab4
&b:0x7fff51b71ab4
&b の出力が b と同じである理由を誰か説明してもらえますか?
ありがとう!-エルベン