Progrmation modulaire [C]
---vivi---
Messages postés
83
Statut
Membre
-
---vivi--- Messages postés 83 Statut Membre -
---vivi--- Messages postés 83 Statut Membre -
Bonjour, j'ai un problème avec ce code :
MAIN.C
#include "essai.h"
#include <stdio.h>
#include <stdlib.h>
int main()
{
essai(void);
return 0;
}
ESSAI.H
void essai (void);
ESSAI.C
#include "essai.h"
#include <stdio.h>
#include <stdlib.h>
void essai(void)
{
printf("coucou");
}
est ce que quelqu'un peu m'aider?
MAIN.C
#include "essai.h"
#include <stdio.h>
#include <stdlib.h>
int main()
{
essai(void);
return 0;
}
ESSAI.H
void essai (void);
ESSAI.C
#include "essai.h"
#include <stdio.h>
#include <stdlib.h>
void essai(void)
{
printf("coucou");
}
est ce que quelqu'un peu m'aider?
Configuration: Windows XP Firefox 3.0.6
A voir également:
- Progrmation modulaire [C]
- Alimentation non modulaire ✓ - Forum Carte graphique
- Alimentation modulaire ou non - Guide
- Câble alimentation modulaire - Forum Alimentation PC
- Branchement alim modulaire > cm ✓ - Forum Alimentation PC
- Quel câble pour brancher un disque dur sur une alimentation modulaire ? - Forum Disque dur / SSD
En quoi c'est mieux de mettre le void à la déclaration d'une fonction ?
Comme tu le sais ça ne change strictement rien, mais je trouve ça plus lisible de préciser void, de plus il n'y a pas d'ambiguïté et c'est la raison pour laquelle je le mets systématiquement.
int toto(); cela est une déclaration et non un prototype. Cela dit au compilateur de ne pas gérer les arguments. Donc si tu définis une fonction comme ça, tu pourras l'appeler avec des arguments sans soucis.
Alors que lorsque tu fais : int toto(void); cela est bien un prototype et tu dis au compilateur que cette fonction admet zéro argument. Donc un appel comme toto(1), sera refusé.
A noter que ceci est valable en C. En C++, il y a équivalence.
C'est vrai qu'en C++ (que je connaît mieux) les arguments apparaissent dans le nom de la fonction, donc impossible de se tromper.