La syntaxe main()
avec des parenthèses vide est utilisée lorsque le programme n'a pas besoin d'accéder aux arguments de la ligne de commande.
En langage C, la fonction main()
est le point d'entrée de tout programme. Il est fréquent de voir la fonction main()
sans aucun argument dans sa déclaration, c'est-à-dire avec des parenthèses vides : int main()
. Mais il existe en réalité deux formes courantes de la fonction main
:
int main() {
// Code du programme
return 0;
}
Dans cette forme, rien n'est passé en entrée à la fonction main()
. Cela signifie que le programme ne prend pas d'arguments à son lancement.
int main(int argc, char *argv[]) {
// Code du programme
return 0;
}
Ici, argc
(argument count) et argv
(argument vector) permettent de transmettre des arguments au programme lors de son exécution via la ligne de commande.
argc
: représente le nombre d'arguments passés.argv
: est un tableau de chaînes de caractères représentant les arguments.La version avec les parenthèses vides (main()
) est utilisée lorsque le programme n'a pas besoin d'accéder aux arguments de la ligne de commande. C'est une manière plus simple et plus concise d'écrire la fonction quand on sait à l'avance qu'aucun argument ne sera fourni.
main()
et main(void)
main()
: Ceci signifie que la fonction n'a pas d'argument, mais en C, cela ne spécifie pas explicitement les types des arguments. Dans les premières versions du C, cela pouvait indiquer que la fonction pourrait accepter un nombre indéterminé d'arguments.
main(void)
: Indique explicitement qu'aucun argument n'est accepté par la fonction, ce qui est plus précis.
Dans la plupart des cas modernes, l'usage de int main()
est largement accepté et signifie implicitement que la fonction ne prend pas d'arguments.