Simple macros are sometimes referred to as manifest constants . For readability, uppercase is used for macro names by convention.
Programs are easier to read when it's possible to tell at a glance which names are macros.
Aside from the above, there is no restriction on what can go in a macro body. Parentheses need not balance, and the body need not resemble valid C code. However, tokens must be valid C tokens. For example, the symbol 1A would cause an error in both the compiler and the preprocessor. The C preprocessor scans your program sequentially, so macro definitions take effect at the place you write them.