[C]"Void main" ou "int main (void)&
Résolu
baker95500
Messages postés
93
Date d'inscription
Statut
Membre
Dernière intervention
-
baker95500 Messages postés 93 Date d'inscription Statut Membre Dernière intervention -
baker95500 Messages postés 93 Date d'inscription Statut Membre Dernière intervention -
Bonjour a tous,
Je voudrais connaitre la difference entre
Le " void main() "
Et le " int main(void) "
Merci =)
Je voudrais connaitre la difference entre
Le " void main() "
Et le " int main(void) "
Merci =)
6 réponses
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'est simple ?
int main(void) te permet de retourner une variable : un entier avec en paramètre une variable vide (void toto;) tandisque void main() te permet de ne rien retourner en fait elle se contente d'exécuter
D'autres questions ?
int main(void) te permet de retourner une variable : un entier avec en paramètre une variable vide (void toto;) tandisque void main() te permet de ne rien retourner en fait elle se contente d'exécuter
D'autres questions ?
void main() n'est pas dans la norme, ce n'est pas du C correct, mais elle "existe" dans les faits car plusieurs compilateurs permettent tout de même d'écrire cela.
Et même des professeurs d'informatique le montrent comme ceci aux débutants!
Bien que je ne partage pas cette manière de faire, ceci leur permet d'éluder le pourquoi du comment main() est de type int, alors que les élèves ne savent même pas ce qu'est une fonction, et même s'ils l'apprennent vite ils n'ont peut-être que très peu de bases d'informatique en général (pourquoi le programme renverrait-il qqchose ?)
N'en voulez pas trop à cette personne de poser la question!
Et même des professeurs d'informatique le montrent comme ceci aux débutants!
Bien que je ne partage pas cette manière de faire, ceci leur permet d'éluder le pourquoi du comment main() est de type int, alors que les élèves ne savent même pas ce qu'est une fonction, et même s'ils l'apprennent vite ils n'ont peut-être que très peu de bases d'informatique en général (pourquoi le programme renverrait-il qqchose ?)
N'en voulez pas trop à cette personne de poser la question!