C - Arrays - Discussion

You Are Here :: Home > C > Arrays - Discussion

 



Q.

What will be the output of the program if the array begins 1200 in memory?

#include
int main()
{
int arr[]={2, 3, 4, 1, 6};
printf("%u, %u, %u\n", arr, &arr[0], &arr);
return 0;
}

A. 1200, 1202, 1204 B. 1200, 1200, 1200
C. 1200, 1204, 1208 D. 1200, 1202, 1200

Answer: Option B
Explaination:

 


=> int arr[]={2, 3, 4, 1, 6}; The variable arr is declared as an integer array and initialized.

printf("%u, %u, %u\n", arr, &arr[0], &arr); Here,The base address of the array is 1200.
arr, &arr is pointing to the base address of the array arr.
&arr[0] is pointing to the address of the first element array arr. (ie. base address) Hence the output of the program is 1200, 1200, 1200



Discussion

Your Comments Goes here...
NameDiscussion