in the first code the output is 4 bcoz *p means *&p[0] that means p[0] that
is some address so for 32 bit machine its coming to be 4 bytes..
in the 2nd it is 80 as 20*sizeof(int *) and not as you mentioned..

On Sun, Aug 14, 2011 at 6:12 PM, rShetty <[email protected]> wrote:

> Please explain this ...
>
> #include<stdio.h>
> int main()
> {
>  int *p[10];
>  printf("%d",sizeof(*p));
>  return 0;
> }
>
> Output is 4
>
> For this program ....
>
> #include<stdio.h>
> int main()
> {
>  int *p[10][20];
>  printf("%d",sizeof(*p));
>  return 0;
> }
>
> Output is 80 (10*20*sizeof(int))
>
> --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to