|
From: | Chris Lattner |
Subject: | Re: [Tinycc-devel] Strange sizeof construct |
Date: | Tue, 13 Nov 2007 16:38:39 -0800 |
On Nov 13, 2007, at 3:39 PM, 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]);
Why wouldn't this work? These all seem to be explicitly allowed by the C99 grammar.
-Chris
[Prev in Thread] | Current Thread | [Next in Thread] |