I have confusion about 2d arrays in C. My code is:
main()
{
int i, j;
int arr[3][4] = {
{ 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 0, 1, 6 }
};
printf("\narr: %u", arr);
printf("\n&arr: %u", &arr);
printf("\n*arr: %u", *arr);
}
And the Output of the above program is:
arr u: 3215469448
&arr: 3215469448
*arr: 3215469448
Now tell me how all 3 printf statements displaying address of a single location. Just explain broadly how these addresses are same.
I know, similar question is asked earlier also, but they didn't help me. Don't refer me to Memory map for a 2D array in C and MEMORY MAP for 2d / multidimensional arrays ...