Recommendations

EXP00-A. Use parentheses for precedence of operation

EXP01-A. Use parentheses within macros around variable names

EXP02-A. Don't use the preprocessor for defining complex macros

EXP03-A. Explicitly cast or convert variables

EXP04-A. Avoid void* pointers when possible

EXP05-A. Do not cast away a const qualification

Rules

EXP30-C. Do not depend on order of evaluation within a sequence point

EXP31-C. Do not modify constant values