I have read that sizeof operator in C is interpreted at compile time and since at compile time compiler knows the array size and its type,sizeof is abled to compute the numb
sizeof
is always computed at compile time in C89. Since C99 and variable length arrays, it is computed at run time when a variable length array is part of the expression in the sizeof
operand.
Same for the evaluation of the sizeof
operand: it is not evaluated in C89 but in C99 if the operand is of variable length array type it is evaluated. For example:
int n = 5;
sizeof (int [n++]);
// n is now 6