I've seen similar questions but I didn't understand yet.
is it a good practice to include all prototypes in one header file then including it in each file that need a prototype or create a header file for each .c file's prototypes.
The language I'm using is C.
The problem of one single header containing all the function declarations included by all modules is that when you touch it (and that will probably be often as all prototypes are there) every single module will need to be recompiled.
If you're using "C" then this is probably not a big issue with current computers unless your program is huge.
With "C++" things are different as the compilers are much slower at processing source code because of templates, and recompiling everything at each change of a single prototype could be very annoying.