Обычно рекомендуется объявлять один класс на заголовок (.h или .hpp) и реализовывать его содержимое в одном файле .cpp. В случае C вы группируете функции по тому, что они делают, или по контексту, в котором они используются, а также объявляете их в одном заголовке и реализуете в одном файле .c. Например: математика, такая как квадратные корни, тригонометрические элементы (синус, косинус, тангенс), полномочия, возможно, также функции мин / макс (хотя в большинстве случаев они лучше, чем макросы) будут находиться в их собственных .h / Пара файлов .c или .hpp / .cpp.
Конечно, вы можете полностью игнорировать это и складывать весь свой код в один файл .c (pp) без заголовка. Это станет совершенно нечитаемым:).