Déclaration dans sous-programme

Breton22000 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
Breton22000 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'aimerais savoir quand, et quelles variables il faut déclarer entre parenthèses lors des déclarations de sous-programmes, et lors de leur appel.

Merci d'avance !



2 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,

Cela dépend du prototype de la fonction appelée.
Exemple :
typeF nomFonction (typeA a, typeB b) {
     /*corps de la fonction*/
}

int main(void) {
     typeA a=...;
     typeB b=...;
     typeF f;
     /*appel de la fonction*/
     f=nomFonction(a,b);
     /*etc.*/
     return 0;
}

Vu la question, je pense que tu débutes. Je te conseille la lecture du tuto : https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c
1
Breton22000 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour la réponse rapide.
En fait le problème est un peu plus compliqué que ca...
Je fais un programme avec de nombreux sous programmes et certains ne demandent pas de variables lors de la déclaration des prototypes
exemple: (le sous programme là marche très bien).

prototype:
void nomjoueur();

dans le main:
nomjoueur(jr[2].nom);

en dessous, écriture du sous programme:
void nomjoueur(S_joueur jr[])


par contre,
lorsque je veux faire un sous programme avec un peu plus de valeurs à entrer (tableau, tableau de structure, variables...) cela ne marche pas. Je ne sais pas comment rentrer les différentes variables et à quel moment le faire.

exemple:
prototype:
void modifgrille();


dans le main:
modifgrille(jr[2],tab,i);


en dessous, écriture du sous programme:
void modifgrille(S_joueur jr[],char grille[LO][LA],int i)

merci pour l'aide !
0
Dalfab Messages postés 706 Date d'inscription   Statut Membre Dernière intervention   101
 
Bonjour,
Le langage C permet d'utiliser des prototypes sans indiquer les paramètres, il est pourtant très utile de les indiquer dès le prototype, la ligne est alors identique au début la fonction à part qu'elle se termine par un ';'.
L'avantage est que lors de l'appel dans le main le compilateur pourra signaler par une erreur ou un warning si les paramètres ne correspondent pas à ceux attendus.

Si la question est : "que faut-il passer en paramètre à un fonction?" Et bien, il faut lui passer l'ensemble des données dont elle aura besoin, et si des données sont à modifier il faut aussi ajouter des pointeurs sur ces données.
1
Breton22000 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup pour ta réponse ! C'est plus clair maintenant ! :)
0