Open In App
Related Articles

C | Advanced Pointer | Question 2

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report
Assume sizeof an integer and a pointer is 4 byte. Output?
#include <stdio.h>
  
#define R 10
#define C 20
  
int main()
{
   int (*p)[R][C];
   printf("%d"sizeof(*p));
   getchar();
   return 0;
}

                    
(A) 200 (B) 4 (C) 800 (D) 80

Answer: (C)

Explanation: Output is 10*20*sizeof(int) which is “800″ for compilers with integer size as 4 bytes. When a pointer is de-referenced using *, it yields type of the object being pointed. In the present case, it is an array of array of integers. So, it prints R*C*sizeof(int).

Quiz of this Question

Last Updated : 28 Jun, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads