Marc Andre Tanner 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;
> }

I think it is some kind of precedence rule.  sizeof after all is an
operator and not a function.  Seems that [] is binding stronger than sizeof.

cheers
  simon


_______________________________________________
Tinycc-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to