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.
argc
est 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 argc
paramètre, il y a juste un tableau avec les éléments.
int argc(char *argv[])
faire exactement ceci :-))