[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
Bonjour a tous,

Je voudrais connaitre la difference entre

Le " void main() "

Et le " int main(void) "

Merci =)

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
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
13