It seems sizeof is not a real function?
for example, if you write like this:
int i=0; printf(\"%d\\n\", sizeof(++i)); printf(\"%d\\n\", i); >
int i=0; printf(\"%d\\n\", sizeof(++i)); printf(\"%d\\n\", i);
Sizeof analyzes the passed expression to find its type. It then returns the size of the type.
Because the size of a type is always known at compile time, it is put into the machine code as a constant.