Another interesting one is: #define MSG "this is some string or other" ... l = sizeof(MSG); In the compilers I'm familiar with, the string is dumped out into the data space of the program, even though the compiler does evaluate the size at compile time and the string will never be referenced.