Bonjour,

Je me demande comment transférer une adresse de pointeur à un autre pointeur.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
#include <stdio.h>
#include <stdlib.h>
 
typedef struct{
   int age;
}Membre;
 
void Modif_Membre(Membre **);
 
int main()
{
 
   Membre *pointeur=NULL;
 
   pointeur=(Membre*)malloc(sizeof(Membre)*1); // J'ai un tableau de une strucutre.
 
   Modif_Membre(&pointeur);
 
   return 0;
 
}
 
void Modif_Membre(Membre **pointeur)
{
   Membre *pnew=(Membre*)malloc(sizeof(Membre)*2); // Je crée un tableau qui contiendra 2 structures
 
   // A présent j'aimerai faire basculer le premier tableau dans le 2eme, et encoder la 2eme structure. Dans le but de ne pas faire de return et d'utiliser le même pointeur pour tout mon programme.
   *pnew=**pointeur;
 
   // Ensuite je libére l'ancien
   free(*pointeur);
 
   // Et maintenant je transfert l'adresse de l'ancien pointeur vers le nouveau
   pointeur=&pnew;
 
}
Mais bien sur cela ne fonctionne pas, que je libère ou non l'ancien, cela ne change rien. L'erreur doit etre plus profonde que ça.

Le problème est qu je ne sais pas ou. Je dirai même plutôt : est-ce possible de transférer l'adresse d'un pointeur à un autre ?

Merci