Yes; I try to do that but an error flashes. And it’s because I use functions from modulo2 in modulo1 and it says that there is an “ilegal function redefinition”.
Are you putting actual functions (not just function declarations) in your *.h files?
The normal structure for a multi-file C program is to have all functions in *.c files, each of which (except maybe for the top-level file) having a corresponding *.h file with declarations for the public functions & variables actually defined in the *.c file. Each *.c file #includes its own header file at the very top, along with the headers for each other *.c file containing items it references.