Pointeur de structure contenant un pointeur

PADYVEN Messages postés 69 Date d'inscription lundi 10 février 2003 Statut Membre Dernière intervention 29 août 2012 - 20 sept. 2008 à 13:49
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 - 21 sept. 2008 à 16:11
bonjour;


voila  je voudrait progresser un peu en pointeur


donc j'ai une structure disont toto



struct toto



{



int num;



int *tata;



};




et j'ai une structure disont titi



struct titi



{



struct toto *test;

int tito;



};






struct titi essaipointeurm; 

je voudrais acceder a la valeur de essaipointeur.test.num
je voudrais modifier le pointeur essaipointeur.test.tata

merci d'avance
 


 

4 réponses

PADYVEN Messages postés 69 Date d'inscription lundi 10 février 2003 Statut Membre Dernière intervention 29 août 2012
20 sept. 2008 à 13:54
ah et j'oubliais

et si essaipointeur et lui meme un pointeur 
struct titi *essaipointeur; 

merci
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
20 sept. 2008 à 17:25
Ben tu alloues la mémoire pour les structures, c'est tout.

struct titi *p = malloc(sizeof(struct titi));
p->test = malloc(sizeof(struct toto));

int j = 5;

p->test->tata = &j;

printf("%d\n", *p->test->tata);

...

free(p->test);
free(p);

C++ (@++)
0
PADYVEN Messages postés 69 Date d'inscription lundi 10 février 2003 Statut Membre Dernière intervention 29 août 2012
21 sept. 2008 à 05:25
merci Sakindom

tu m'apporte des elements de reponses,mais ce n'est pas trop les malloc qui m 'interesse ,mais plutot les syntaxes

donc si j'ai bien compris si essaipointeur est une structure titi

essaipointeur.test->num=12
essaipointeur.test->tata=&variable

sinon si c'est un pointeur

essaipointeur->test->num=12
essaipointeur->test->tata=&variable

c'est ca?

et pour la lecture des variables
printf("%d\n", *p->test->num);
printf("%d\n", *p->test->tata);
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
21 sept. 2008 à 16:11
"essaipointeur.test->num=12
essaipointeur.test->tata=&variable

sinon si c'est un pointeur

essaipointeur->test->num=12
essaipointeur->test->tata=&variable

c'est ca?"

Oui

"et pour la lecture des variables
printf("%d\n", *p->test->num);
printf("%d\n", *p->test->tata);"

Non. num n'est pas un pointeur. p->test->num tout simplement.

C++ (@++)
0
Rejoignez-nous