IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
next up previous contents index
Next: Terminaison d'un programme Up: Les bases Previous: Impression formattée

   
Structure d'un programme

       

Nous ne considérerons pour débuter que le cas de programmes formés d'une seule unité de compilation.   Un programme C est une suite de déclarations de variables et de définitions de fonctions dans un ordre quelconque. Les variables sont des variables dont la durée de vie est égale à celle du programme, et qui sont accessibles par toutes les fonctions. Ces variables sont dites variables globales, par opposition aux variables déclarées à l'intérieur des fonctions qui sont dites locales.

Bien que ce ne soit pas obligatoire, il est généralement considéré comme étant un bon style de programmation de regrouper toutes les déclarations de variables en tête du programme. La structure d'un programme devient alors la suivante :

programme :
$\Rightarrow$ liste-de-déclarationsoption
liste-de-définitions-de-fonctions

Il peut n'y avoir aucune déclaration de variable, mais il doit y avoir au moins la définition d'une procédure dont le nom soit main, car pour lancer un programme C, le système appelle la procédure de nom main. Exemple :

int i,j;                    /*   i,j,a,b,c   sont des variables globales    */
double a,b,c;

void p1(int k)              /*   début de la définition de la procédure p1  */
                            /*   p1 a un seul paramètre entier : k          */
{
int s,t;                    /*   variables locales à p1                     */

...                         /*   instructions de p1 qui peuvent accéder à   */
...                         /*   k,i,j,a,b,c,s et t                         */
}                           /*   fin de la définition de p1                 */

int f1(double x,double y)   /*   début de la définition de la fonction f1   */
                            /*   f1 a deux paramètres flottants: x et y     */
{
double u,v;                 /*   variables locales à f1                     */

...                         /*   instructions de f1 qui peuvent accéder à   */
...                         /*   x,y,i,j,a,b,c,u et v                       */
}                           /*   fin de la définition de f1                 */

int main()                  /*   début du main, il n'a pas de paramètre     */
{
...                         /*   instructions qui appellerons p1 et f1      */
}                           /*   fin de la définition de main               */



Bernard Cassagne
1998-12-09