Besoin d'aide pour les struct en C
Troosh
Messages postés
4
Statut
Membre
-
Troosh Messages postés 4 Statut Membre -
Troosh Messages postés 4 Statut Membre -
Bonjour,
je suis en train de faire un jeu de Yahtzee pour mes cours, et il m'rrive un petit problème :
J'ai mis tout les joueurs dans une structure, et je voudrais qu'une fonction puisse modifier les paramètres d'un joueur donné j'ai simplifié le code pour vous imager mon problème:
#include<stdio.h>
int nbrDeJoueur = 10;
struct joueur {
int score[10];
};
void reinitialiserScore(joueur *j) {
*j->score = 0;
}
int main(int argc, char argv[]) {
struct joueur j[nbrDeJoueur];
int i;
for(i = 0; i < nbrDeJoueur; i++) {
reinitialiserScore(j[i]);
}
}
L'ereur retourné lors de la compilation par mon terminal est :
troosh@ubuntu:~/C$ gcc test3.c
test3.c:10: error: expected `)' before `*' token
merci,
2 réponses
Bonjour,
"joueur" n'est pas un type définie il faut préciser son type
void reinitialiserScore(struct joueur *j) {
et il faut lui envoyer l'adresse de j[i] :
reinitialiserScore(&j[i]);
Vous utiliser un tableau de int dans la structure est-ce que c'est prévu que chaque joueur aient 10 scores ? Parce que dans la fonction reinitialiserScore vous allez devoir remettre à zero chaque valeur du tableau avec une boucle :
int i; for(i=0;i<10;i++) { j->score[i]=0; }
"joueur" n'est pas un type définie il faut préciser son type
void reinitialiserScore(struct joueur *j) {
et il faut lui envoyer l'adresse de j[i] :
reinitialiserScore(&j[i]);
Vous utiliser un tableau de int dans la structure est-ce que c'est prévu que chaque joueur aient 10 scores ? Parce que dans la fonction reinitialiserScore vous allez devoir remettre à zero chaque valeur du tableau avec une boucle :
int i; for(i=0;i<10;i++) { j->score[i]=0; }