2

Why does the below code work in the way it has?How many elements do *p,*p1,*p2 pick when used in sizeof()?

#include<stdio.h>
//consider integer to be 4 bytes size   
#define R 10
#define C 20

int main()
{
    int (*p)[R][C];
    int *p1[R][C];
    int p2[R][C];
    printf("%d\n",sizeof(*p)); //output is 800
    printf("%d\n",sizeof(*p1)); //output is 160
    printf("%d",sizeof(*p2)); //output is 80
    getchar();
    return 0;
}
mch
  • 9,424
  • 2
  • 28
  • 42
Shivani
  • 85
  • 5

0 Answers0