In C come negli altri linguaggi di programmazione, è fondamentale il rispetto del principio del DIVIDE ET IMPERA, che consiste nel dividere un sorgente in più moduli, dichiarati autonomamente, ma che si possono richiamare l'un l'altro, nel rispetto di alcune regole.

Perché? L'importanza di suddividere un sorgente in più moduli è presto detta:

- Prima di tutto, FAVORISCONO LA STESURA DEL CODICE: è più facile, per il programmatore, avere chiaro in mente un determinato procedimento, che può essere schematizzato in pochi enunciati generali. I moduli andranno a sviluppare i singoli aspetti.

- aspetto fondamentale, consentono la RIUSABILITà DEL SOFTWARE: una funzione con un compito ben definito ed un nome esaustivo consentono ai programmatori di non dover inventare la ruota ogni volta che ne hanno bisogno.

- EVITANO ERRORI spesso causati dal mancato rispetto del principio del minimo privilegio, che consiste nel dare a una specifica porzione di programma la possibilità di operare esclusivamente nel campo degli scopi che deve adempiere.

- FACILITANO IL LAVORO DI DUBUGGING da parte del programmatore: è più facile trovare un errore, quando si sa chi può averlo provocato.

- FACILITANO LA MANUTENZIONE DI PROGRAMMI CORPOSI: quando si deve aggiornare un programma, effettuare controlli o quant'altro, è agevole operare su un sorgente diviso in moduli.

- CONSENTONO LA COMPRENSIONE del sorgente DA PARTE DI ALTRI PROGRAMMATORI: la suddivisione in moduli è fondamentale se si voule permettere ad altri programmatori di capire il programma che abbiamo creato.