Skip to content
Related Articles

Related Articles

Improve Article

C | Advanced Pointer | Question 2

  • Difficulty Level : Medium
  • Last Updated : 28 Jun, 2021
Geek Week

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];
   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

Take a step-up from those “Hello World” programs. Learn to implement data structures like Heap, Stacks, Linked List and many more! Check out our Data Structures in C course to start learning today.
My Personal Notes arrow_drop_up
Recommended Articles
Page :