Certo che sì; inserisci i prototipi delle tue funzioni in file .h, e le loro implementazioni in file .c; quindi, se in un .c ti servono le funzioni definite in un altro includi il .h corrispondente.
Certo che sì; inserisci i prototipi delle tue funzioni in file .h, e le loro implementazioni in file .c; quindi, se in un .c ti servono le funzioni definite in un altro includi il .h corrispondente.
Amaro C++, il gusto pieno dell'undefined behavior.