An example C header file
myHeader.h:
#ifndef myHeader_h // protects header from being included
#define myHeader_h // multiple times
#include "stdio.h"
#define MAXARRAY 100 // a constant
#define add(a,b) a+b // an inline function
#define PRODUCTION // just sets PRODUCTION as true for ifdef
// could also be set via compiler arguments
#ifdef TEST // a conditional compilation example
#define FOO "bar"
#else
#define FOO "foobar"
#endif
extern int myFunction(char*, int); // function prototype
typedef struct { // declarations and type definitions
int i;
char* s;
} MyStruct;
#endif myHeader_h