Should every .C or .cpp file should have a header (.h) file for it?
Suppose there are following C files :
Main.C
Func1.C
Generally there will be one .h file for each .c/.cpp file.