Protoype de fonction
Résolu
cestmoi1993
Messages postés
101
Date d'inscription
Statut
Membre
Dernière intervention
-
cestmoi1993 Messages postés 101 Date d'inscription Statut Membre Dernière intervention -
cestmoi1993 Messages postés 101 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je me pose une question sur les prototypes de fonctions :
Dans un code on déclare nos fonctions comme ceci (par exemple) :
int maFonction (int a, intb);
int main()
{
//instructions
}
ma question est : Pourquoi ne déclare t'on pas la fonction main comme ceci :
int main(); ?
J'ai lu sur le sdz que c'était une ligne inutile pour la plupart des compilateurs mais pourquoi ?
Merci par avance pour vos réponses .
P.S. j'utilise code::blocks, visual studio 2010, visual studio 11 suivant mes humeurs
je me pose une question sur les prototypes de fonctions :
Dans un code on déclare nos fonctions comme ceci (par exemple) :
int maFonction (int a, intb);
int main()
{
//instructions
}
ma question est : Pourquoi ne déclare t'on pas la fonction main comme ceci :
int main(); ?
J'ai lu sur le sdz que c'était une ligne inutile pour la plupart des compilateurs mais pourquoi ?
Merci par avance pour vos réponses .
P.S. j'utilise code::blocks, visual studio 2010, visual studio 11 suivant mes humeurs
A voir également:
- Protoype de fonction
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide
2 réponses
Tu n'es pas obligé de prototyper tes fonctions. Tu peux directement les écrire avec leur contenu. Le seul hic c'est que lorsque tu appelles une fonction dans une autre, son prototype doit avoir été défini plus haut dans le fichier.
Mettre le prototype de main avant la fonction main est inutile à part si tu appelles la fonction main dans une autre fonction (plutôt déconseillé)
Exemple :
Les différents ordre possibles sont [f,g,main] (que je viens de faire), [f,main,g], [g,f,main], [g,main,f], [main,f,g], [main,g,f]
Mettre le prototype de main avant la fonction main est inutile à part si tu appelles la fonction main dans une autre fonction (plutôt déconseillé)
Exemple :
int g(); int f() // pas besoin de prototyper f avant car il n'a jamais été utilisé plus haut { return 2*g(); // on peut utiliser g qu'il a été prototypé plus haut } int g() { return 1; } int main() // pas besoin de prototyper main avant car il n'a jamais été utilisé plus haut { int n=f(); // on peut utiliser f qu'il a été prototypé par sa définition return 0; }Pour bien comprendre à quoi sert le prototypage tu pourrais réécrire ce code en définissant f, g, et main dans différent ordres, et en prototypant juste ce qu'il faut.
Les différents ordre possibles sont [f,g,main] (que je viens de faire), [f,main,g], [g,f,main], [g,main,f], [main,f,g], [main,g,f]