Nous en «avons besoin», car il est requis par diverses normes.
Nous sommes libres d'ignorer complètement la valeur, mais comme il s'agit du premier paramètre de main, nous devons l'avoir dans la liste des paramètres. En C ++ (et probablement les dialectes C non standard), vous pouvez simplement omettre le nom du paramètre, comme cet extrait de code C ++ (facile à convertir en C):
#include <stdio.h> // C-compatible include, guarantees puts in global namespace
// program will print contents of argv, one item per line, starting from argv[0]
int main(int /*argc*/, char *argv[]) { // uncomment argc for C
//(void)argc; // uncomment statement for C
for (int i=0; argv[i]; ++i) {
puts(argv[i]);
}
return 0;
}
Dans la norme C, avec des paramètres d'avertissement communs, le paramètre non utilisé génère un avertissement, qui peut être corrigé par une instruction comme celle (void)argc;qui entraîne l'utilisation du nom sans générer de code.
argcest agréable à avoir, car sinon, de nombreux programmes devraient parcourir les paramètres pour obtenir le décompte. De plus, dans de nombreux langages de programmation avec des tableaux qui ont une longueur, il n'y a pas de argcparamètre, il y a juste un tableau avec les éléments.
int argc(char *argv[])faire exactement ceci :-))