次のコードを検討してください
#include <stdio.h>
#define ROW_SIZE 2
#define COL_SIZE 2
int main()
{
int a[ROW_SIZE][COL_SIZE]={{1,2},{3,4}};
// Base address:Pointer to the first element a 1D array
printf("Base address of array:%p\n",a);
//The value at the base address: should be the address of 1st 1D array
printf("Value at the Base address:%p\n",*a);
return 0;
}
得られた出力:
Sample Output:
Base address of array:0xbff77434
Value at the Base address:0xbff77434
どういうわけか、2D配列のベースアドレスの概念と、1D配列へのアドレスが同じであるベースアドレスの値を理解できていません。説明してください。