Traduction d'une procédure en C

Problème 1:
La notion de procédure n'existe pas en C!!!!

Solution:
Une procédure sera traduite en C par une fonction de type void (ne retourne pas de valeur).

exemple:

/* ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 * Nom de la procédure : 
 accueilBis
 * Description : Affiche un mesage d'accueil en salle machine. La lettre du couloir (leCouloir) et le numéro de salle (numeroSalle) sont les
 *                        paramètres formels d'entrée, leCouloir est une lettre quelconque, numeroSalle est supérieur ou égal à 0
                                              *
 *----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*/

void  accueilBis(char leCouloir, int numeroSalle)  /* leCouloir est la lettre du couloir et numerosalle (>0) est le numéro de la salle */
{
  printf("\nBienvenu en salle machine %c%d  de l'IUT de Villetaneuse",
leCouloir, numeroSalle);
  printf("\nVous êtes sous LINUX");
  printf("\nVous êtes responsale du matériel, prenez en soin");
  printf("\nIl est interdit de boire et de manger dans les salles machines");

}
/* fin de la procédure accueilBis */

Problème 2: La notion de paramètre de sortie et d'entrée-sortie n'existe pas en C. Tous les passages de paramètres effectifs vers les paramètres formels se font par valeur (il y a copie de la valeur de chaque paramètre effectif dans chaque paramètre formel). Toute modification des paramètres formels dans la procédure n'a aucun effet sur l'environnement de l'appelé. Il n'y a donc que des paramètres d'entrée.

Solution:
On va passer des adresses comme paramètres d'entrée et on va travailler dans la procédure par indirection vers les variables de l'environnement de l'appelant ...
suivant
        plan