Pointeurs et structures...
Hello,
Voila mon problème:
Je souhaite modéliser un groupe de personne auquel on peu ajouter/enlever etc... dynamiquement des individus.
Pouir cela, j'ai crée deux structure:
- une pour les individus qui contiendra des attributs standarts...
- une pour le groupe, elle contient un pointeur de type individu qui servira de tableau dynamique pour les individus.
Je souhaite ensuite ajouter les methodes standards... tout ca est résumé dans mon code ci-dessous:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
#include <windows.h>
#include <stdio.h>
typedef struct individu {
char* nom;
} individu ;
typedef struct groupe{
int nbPers ;
individu *indivs ; // Pointeur = tableau d'individus
} groupe ;
individu* creerIndividu () {
individu *indiv ;
indiv = calloc(1, sizeof(individu)) ;
return indiv ;
}
groupe* creerGroupe(int nbPers) {
groupe* gp ; // Pointeur sur le nouveau groupe
gp = malloc(sizeof(groupe)); // Allocation de mémoire pour le groupe
(*gp ).indivs = malloc(nbPers* sizeof(individu)) ; // Allocation de mémoire pour les individus
int i ;
for(i = 0 ; i < nbPers; i++) {
gp->(indivs+i) = creerIndividu() ; //pb a la compilation
}
return gp ;
}
int main(void) {
int nbIndiv= 5 ;
groupe *gp ;
gp = creerGroupe(nbIndiv) ;
} |
A la compilation, j'ai le droit a une syntax error au niveau de l'instruction:
Code:
gp->(indivs+i) = creerIndividu()
Quelqu'un voit il l'erreur? C'est surement au niveau des pointeurs, je ne maitrise pas encore bien... mais j'ai beau chercher je ne trouve pas de solutiosn.
Merci d'avance.