sirven que punteros parametros para operaciones los funciones estructura declaracion datos con como cadenas arreglos aritmetica apuntadores c struct pointer-to-pointer

que - punteros como parametros de funciones en c



¿Cómo trabajar con puntero a puntero para estructurar en C? (4)

Debido a la precedencia del operador, debe poner paréntesis alrededor de esto:

(*foo)->member = 1;

Quiero cambiar miembro de estructura bajo 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; }


Puede usar una variable de temperatura para mejorar la legibilidad. Por ejemplo:

Ttype *temp = *foo; temp->member = 1;

Si tiene el control de esto y le permite usar C ++, la mejor manera es usar la referencia. Por ejemplo:

void changeMember(Ttype *&foo) { foo->member = 1; }


maybe (* foo) -> member = 1 (si está dinámicamente asignado)


Tratar

(*foo)->member = 1;

Necesitas usar explícitamente el * primero. De lo contrario, es un intento de desreferencia miembro.