重複の可能性:
配列名は C のポインターですか?
次のコードを実行していました
#include <stdio.h>
int main()
{
int a[4] = {1,2,3,4};
int (*b)[4] = &a;
int k = sizeof(a);
printf("\n\n%d\n\n", k);
printf("a = %u, b = %u, *b = %u, data = %d", a, b, *b, **b);
return 0;
}
次の出力を得ました
a = 3485401628, b = 3485401628, *b = 3485401628, data = 1
ここでは、b の型が int** であるため、a のアドレスを b に割り当てていますが、出力では、a が指すアドレスが b が指すアドレスと同じであることがわかります。
私には少し混乱しているようです。説明は何ですか?