RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 valeur retour main()

Forum : C & C++
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ C & C++

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET RESOLU
BLOQUAGE DU SUJET SUJET BLOQUER
APPARTENANCE A LA FAQ APPARTENANT A LA FAQ


POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM C & C++

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
rainbow
Superviseur :
- C & C++
Chef de projet(s) :
- IA savane
- Team MoteurProg

Avatar de rainbow
Inscrit : 26/05/2006
Messages : 1470
Message
#164110
Posté le 23/06/09 à 21:50
Laquelle de ces deux notations est correcte: int main() ou void main()?

FAQ MP dit :

La fonction main demande à retourner une valeur (pour savoir si le programme se termine bien ou si des erreurs sont apparues). Cette valeur sera de type int. C'est pourquoi la première notation est correcte. Cependant il existe 2 notations possibles:


int main( ) { ... }

ou encore

int main( int argc, char *argv[ ) { ... }


Les deux notations sont valables (elles demandent toutes deux à retourner une valeur) et la deuxième permet encore de travailler avec des arguments. En effet, prenons l'exemple de gcc, pour compiler un fichier vous devez faire:

gcc -o Output FichierACompiler


vous pouvez donc constater qu'ici gcc prend 3 arguments. Pour accéder à ceux-ci, la fonction main du programme gcc, intercepte les messages grace à (int argc, char *argv[]). Où argc est le nombres d'arguments passés au programme et argv est la liste d'arguments. Ce n'est pas trop compliqué je pense.

La notation void main() quant à elle est incorrecte car le type void indique que la fonction main ne doit pas retourner de valeur (interdit). Cependant certains compilateurs acceptent encore cette notation... :)


FAQ MP dit :

Le "return 0;" est-il obligé dans la fonction main( ) ?

Vous n'êtes pas obligé de le faire, la plupart des compilateurs le font pour vous, car après avoir exécuté les choses de main, le compilateur va ordonner de retourner 0 si main se termine sans erreurs.

Mais, admettons que dans main apparaisse une erreur et que vous l'avez prévue (donc que vous vérifiez et que, par exemple, vous retournez 1 si l'erreur apparaît), le compilateur va vous demander de placer le "return 0;" en fin de bloc main car il n'est pas capable de dire si la fonction main va bien se terminer ou pas. Alors il ne sait pas obliger de retourner 0.



Merci de laisser ce post sans commentaire, il appartient à la FAQ CC++. Si vous avez encore des questions postez un nouveau Topic.

__________________________
............ Curtis: RTS 3D ..............
......Image
........... TeamMoteurProg...........

How to ask Questions ou Comment poser une question
TPE Rayons X et Scoliose

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE ALLER VOIR SON SITE


    PAGE : [1]



.: Site Web développé par Yann Pingot et l'équipe MPWG avec www.evolvia-web.com :.