Вы можете попросить человека, который «сказал» вам сделать это - это не требование языка или цепочки инструментов.
Препроцессору все равно, где длинные файлы включения, если вы говорите это (либо в самой директиве #include
, либо в параметрах командной строки, либо в переменных среды). Размещение всех заголовков в папке, отдельной от связанных файлов .c, является обычной практикой, но часто по привычке, а не по какой-либо уважительной причине. Это полезно, когда заголовки относятся к некоторой статической, разделяемой библиотеке или DLL, где заголовки должны распространяться вместе со скомпилированным объектным кодом.
В других случаях, возможно, проще и полезнее хранить заголовки и связанные с ними файлы .c в одном каталоге друг с другом. Это позволяет, например, включать «локализованные» заголовки, используя двойные кавычки, без необходимости явно указывать препроцессору, какие пути искать.