Paramètres d'un programme

Les tableaux de pointeurs vers des chaînes de caractères sont une structure de données importante, car c'est sur celle-ci que s'appuie la transmission de paramètres lors de l'exécution d'un programme. Lorsqu'un utilisateur lance l'exécution du programme prog avec les paramètres param1, param2, ... paramn, l'interpréteur de commandes collecte tous ces mots sous forme de chaînes de caractères, crée un tableau de pointeurs vers ces chaînes, et lance la procédure main en lui passant deux paramètres :
-
un entier contenant la taille du tableau ;
-
le tableau de pointeurs vers les chaînes.

Pour que le programme puisse exploiter les paramètres passés par l'utilisateur, la fonction main doit être déclarée de la manière suivante :

int main(int argc, char *argv[])
{
...
}
Les noms argc (pour argument count), ainsi que argv (pour argument values), sont des noms traditionnels, mais peuvent être remplacés par n'importe quels autres noms ;  seuls les types doivent être respectés.

Comme exemple d'utilisation des paramètres, nous donnons le source d'un programme qui imprime son nom et ses paramètres :

int main(int argc, char *argv[])
{
int i;

printf("Nom du programme : %s\n", argv[0]);
for (i = 1; i < argc; i++)
   printf("Paramètre %d : %s\n",i,argv[i]);
}

Matthieu Moy 2017-02-08