[C]"Void main" ou "int main (void)&
Résolu/Fermé
baker95500
Messages postés
92
Date d'inscription
dimanche 18 janvier 2009
Statut
Membre
Dernière intervention
22 novembre 2012
-
20 nov. 2009 à 11:27
baker95500 Messages postés 92 Date d'inscription dimanche 18 janvier 2009 Statut Membre Dernière intervention 22 novembre 2012 - 24 nov. 2009 à 11:11
baker95500 Messages postés 92 Date d'inscription dimanche 18 janvier 2009 Statut Membre Dernière intervention 22 novembre 2012 - 24 nov. 2009 à 11:11
6 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
20 nov. 2009 à 19:36
20 nov. 2009 à 19:36
Salut,
J'apporte un complément d'informations.
void main() n'est pas standard, de même que main(). Ces versions sont apparus en C K&R. Mais depuis ISO est apparue, et la norme a tranché. Les deux seuls prototypes standards de main() sont :
int main(void);
int main(int argc, int char **argv); (on peut écrire char *argv[]) également.
Rien d'autre.
Ensuite, pour les différences entre void toto() et int toto(void);
void toto() signifie que la fonction toto ne renverra aucune valeur. Mais attention, la fonction n'est pas bien définie puisqu'on ne spécifie pas les arguments. Il faut mettre void toto(void) pour spécifier au compilateur que la fonction ne prend aucun argument.
int toto(void); signifie que la fonction renverra une variable de type int et qu'elle accepte 0 argument.
Cdlt
J'apporte un complément d'informations.
void main() n'est pas standard, de même que main(). Ces versions sont apparus en C K&R. Mais depuis ISO est apparue, et la norme a tranché. Les deux seuls prototypes standards de main() sont :
int main(void);
int main(int argc, int char **argv); (on peut écrire char *argv[]) également.
Rien d'autre.
Ensuite, pour les différences entre void toto() et int toto(void);
void toto() signifie que la fonction toto ne renverra aucune valeur. Mais attention, la fonction n'est pas bien définie puisqu'on ne spécifie pas les arguments. Il faut mettre void toto(void) pour spécifier au compilateur que la fonction ne prend aucun argument.
int toto(void); signifie que la fonction renverra une variable de type int et qu'elle accepte 0 argument.
Cdlt