[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Tinycc-devel] Strange sizeof construct
From: |
Marc Andre Tanner |
Subject: |
Re: [Tinycc-devel] Strange sizeof construct |
Date: |
Wed, 14 Nov 2007 20:13:14 +0100 |
User-agent: |
Mutt/1.5.17 (2007-11-01) |
On Wed, Nov 14, 2007 at 12:39:18AM +0100, grischka wrote:
> > Could a C guru out there please tell me why the following works?
> > Extra points if you can explain why it makes sense.
> >
> > #include <stdio.h>
> >
> > int main(){
> > int arr[10];
> > printf("%d\n",sizeof arr[0]); // ok
> > printf("%d\n",sizeof(arr[0])); // ok
> > printf("%d\n",sizeof(arr)[0]); // ok, but why?
> > return 0;
> > }
>
> And what about that one:
>
> printf("%d\n",sizeof (0)[arr]);
Yep even stranger. The good thing is that if you add another pair of
parantheses tcc takes it and life is good.
printf("%d\n",sizeof((arr)[0]));
printf("%d\n",sizeof((0)[arr]));
> -- gr
Marc
--
Marc Andre Tanner >< http://www.brain-dump.org/ >< GPG key: CF7D56C0