6.8.4 Names Safe to Use
There are four simple rules you can follow
to keep from colliding with any ISO C reserved names:
#include all system headers at the top
of your source files (except possibly after a #define of _POSIX_SOURCE or _XOPEN_SOURCE, or both).
Do not define or declare any names that begin with an underscore.
Use an underscore or a capital letter somewhere within the
first few characters of all file scope tags and regular names. Beware of the va_ prefix found in stdarg.h or varargs.h.
Use a digit or a non-capital letter somewhere within the first
few characters of all macro names. Almost all names beginning with an E are
reserved if errno.h is #included.
These rules are just a general guideline to follow, as most implementations
will continue to add names to the standard headers by default.