Programmation
Le langage C permet de découper un programme en plusieurs parties nommées souvent « modules ». Cette programmation dite modulaire se justifie pour de multiples raisons :
•
Un programme écrit d’un seul tenant devient difficile à comprendre dès qu’il dépasse une ou deux pages de texte. Une écriture modulaire permet de le scinder en plusieurs parties et de regrouper dans le programme principal les instructions en décrivant les enchaînements. Chacune de ces parties peut d’ailleurs, si nécessaire, être décomposée à son tour en modules plus élémentaires ; ce processus de décomposition pouvant être répété autant de fois que nécessaire, comme le préconisent les méthodes de programmation structurée. La programmation modulaire permet d’éviter des séquences d’instructions répétitives, et cela d’autant plus que la notion d’argument permet de paramétrer certains modules. La programmation modulaire permet le partage d’outils communs qu’il suffit d’avoir écrits et mis au point une seule fois. Cet aspect sera d’autant plus marqué que C autorise effectivement la compilation séparée de tels modules.
• •
1 - La fonction : la seule sorte de module existant en C
Dans certains langages, on trouve deux sortes de modules, à savoir : • Les fonctions, assez proches de la notion mathématique correspondante. Notamment, une fonction dispose d’arguments (en C, comme dans la plupart des autres langages, une fonction peut ne comporter aucun argument) qui correspondent à des informations qui lui sont transmises et elle fournit un unique résultat scalaire (simple) ; désigné par le nom même de la fonction, ce dernier peut apparaître dans une expression. On dit d’ailleurs que la fonction possède une valeur et qu’un appel de fonction est assimilable à une expression. • Les procédures (terme Pascal) ou sous-programmes (terme Fortran ou Basic) qui élargissent la notion de fonction. La procédure ne possède plus de valeur à proprement