Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Referenced DCL37-C.

...

Code Block
bgColor#ccccff
#ifndef HEADER_H
#define HEADER_H

/* ... contents of the header<header.h> ... */

#endif /* HEADER_H */

Consequently, the first time that header.h is #include'd, all of its contents are included. If the header file is subsequently #include'd again, its contents are bypassed.

Wiki Markup
Because solutions such as this one make it possible to create a header file that can be included more than once, the C standard \[[ISO/IEC 9899:1999|AA. C References#ISO/IEC 9899-1999]\] guarantees that the standard headers are safe for multiple inclusion.

Note that it is a common mistake to choose a reserved name for the name of the macro used in the inclusion guard. See DCL37-C. Do not use identifiers that are reserved for the implementation.

Risk Assessment

Failure to include header files in an inclusion guard can result in unexpected behavior.

...