Trabajar con punteros. en C / C++ ->
Como sabemos, en C / C++ es habitual trabajar con punteros.
En el siguiente código
struct Nodo {
int A;
int B;
};
struct Nodo *nd = (struct Nodo *)malloc( sizeof( struct Nodo ) );
¿ Como accedemos al atributo
A
a través del puntero nd
?
Una de las alternativas es:
(*nd).A = 10;
Sin embaro, C / C++ nos proporcionan un método mas simple de escribir, y, personalmente, encuentro que mas simple de entender, mediante el operador
->
:nd->A = 10;
Ambos métodos son equivalentes e intercambiables.
PUNTERO->ATRIBUTO
es un método abreviado de hacer (*PUNTERO).ATRIBUTO
.->
es un operador, y, por lo tanto, se puede encadenar:struct Nodo {
struct Nodo *n;
int A;
int B;
};
ptr->n->A = 10;
0 comentarios:
Publicar un comentario