Quote Originally Posted by root4 View Post
Here's the exact reference from the standard (C99) if you want to check it later:
"[6.7.8.]4 All the expressions in an initializer for an object that has static storage duration shall be constant expressions or string literals."
and
"[6.6.]3 Constant expressions shall not contain assignment, increment, decrement, function-call, or comma operators, except when they are contained within a subexpression that is not evaluated."
and concerning the "subexpression that is not evaluated":
"98) The operand of a sizeof operator is usually not evaluated (6.5.3.4)"
thanks for the reference
jvh