It differs from compiler to compiler;
if u write your own "*.h" file to compile keep it in the same directory with the "*.c" file that contains the source code:
e.g:

"units.h"
<stdio.h>

int main(){
...
}

if you known where the Standard header files are stored you can save your own made header file there and use it like the standard ones in a program:
e.g:

<units.h>
<stdio.h>

int main(){
...
}

the compiler will look for the file unity.h in the normal place for the "*.h" files.

if u happen to have time u can look for them in the compiler package for: djgpp, dm(digital mars), gcc & gnu I don't know about the other compilers. surf folders~