Pointeur en C

Fermé
paf84 - 25 mai 2004 à 22:14
tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 - 25 mai 2004 à 23:51
bonjour j'ai un pti probleme bete,mais bon je ne comprend pas!
voila je créé un pointeur sur une structure dans mon main et ensuite je lenvoi dans une fonction pour qu'il y soit rempli puis alloué mais ca ne marche pas
en fait je voudrai créé un pointeur dans le main pour qu'il soit ensuite facilement "envoyable" dans les autres fonctions appeler par le main!
comment puis je faire pourquoi ca ne marche pas?

merci a tous

1 réponse

tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 177
25 mai 2004 à 23:51
salut, ca ne marche pas, par ce que lorsqe tu fais ceci :
 type *ptr;  function (ptr);  // c'est une copie qui est donée a function et non l'adresse de ptr  


Tu as 2 choix : soit function renvoie un (type*) soit tu declares function comme prenant un pointeur de pointeur coe suit :
 function (type **ptr);  
// ds le main, tu declares :  type **myptr; function (myptr);  


Moi je prefere le premier choix, plus propre ds ce cas tu veux faire, car si c'est la fct qui doit allouer la mémoire, alors c'est elle qui doit declarée le pointeur, lui allouer de la mémoire, l'initialiser, puis l'envoie au main.
J'espere que j'ai été clair.

tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
0