sizeof()
This operator accepts one parameter, which can be either a type or a variable itself and returns the size in bytes of
that type or object:
a = sizeof (char);
This will assign the value 1 to a because char is a one-byte long type.
The value returned by sizeof is a constant, so it is always determined before program execution.
Text above was copied from: http://www.cplusplus.com/doc/tutorial/
It seems that sizeof() is an operator, not a function, and is only evaluated at compile time and not at run time. This is for C++.