Type Punning Strict aliasing C declaration syntax C & C++ Incompatibilities C preprocessor Type-generic macro NULL Macro Compound Literals Variadic functions Inline keywords Variables Scope, visibility, and lifetime storage duration