[cfe-dev] sizeof(sizeof(...))
    Mike Stump 
    mrs at apple.com
       
    Sat Dec 15 01:31:20 PST 2007
    
    
  
On Dec 14, 2007, at 12:30 PM, Ted Kremenek wrote:
> Does anyone have any insights on the semantics of expressions of the  
> form sizeof(sizeof(...))?
As you suspected the argument isn't evaluated because the type of the  
argument isn't a variable length array.  Put on your recursion hat and  
just think about the first bit of the operand....
sizeof (...)  has type size_t.
size_t isn't a VLA.
no need to consider anything instead of the (...).
For fun, try the follow on the old gray matter:
struct { char o[n][m]; } foo(int n, int m) { }
int main() {
   return sizeof(foo(3,4));
}
:-)
    
    
More information about the cfe-dev
mailing list