Is it good practice to have a main.c file that just has the main function in it and no other functions so that all other functions can be interfaced?If there is no definitive rule, when is it good to do so and not to do so?
Is it good practice to keep the main function separate in its own file?
c;code organization;file structure;modules
Ideally, all work which can be thought of as part of re-usable code, should be created in the form of library. The balance work, is application which should be separate where main() will reside. But main() alone doesn't have to sit in isolation. Functions like parse_arguments(argc,argv)  should be along with main rather then separate.