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