sizeof
Sizeof is a unary operator in C that generates the size of a variable or datatype.
sizeof (char) // 1 Byte, type must be enclosed in parenthesis
The actual number of bits of the types is specified by prepocessor macros in limits.h.
/* the following code fragment illustrates the use of sizeof
* with variable and expressions (no parens needed),
* and with type names (parens needed)
*/
char c;
printf("%zu, %zu", sizeof c, sizeof(int))
The output for this program should be 1,4
When applied to a fixed length data type or variables, expressions with the operator sizeof are evaluated during program compilation; they are replaces by a constant result.
Structure padding
Man structures include padding between the different datatypes in memory so it may be bigger than the sum of the sizeof the types in the structure.