¿Cómo trabajar con puntero a puntero a estructura en C?

Resuelto user43975 asked hace 15 años • 4 respuestas

Quiero cambiar el miembro de la estructura con doble puntero. ¿Sabes cómo?

Código de ejemplo

typedef struct {
    int member;
} Ttype;

void changeMember(Ttype **foo) {
   //I don`t know how to do it
   //maybe
   *foo->member = 1;
}
user43975 avatar Dec 07 '08 03:12 user43975
Aceptado

Intentar

(*foo)->member = 1;

Primero debes usar explícitamente el *. De lo contrario, es un intento de eliminar la referencia a un miembro.

JaredPar avatar Dec 06 '2008 20:12 JaredPar

Debido a la precedencia de operadores, es necesario poner paréntesis alrededor de esto:

(*foo)->member = 1;
Konrad Rudolph avatar Dec 06 '2008 20:12 Konrad Rudolph