7.9 Punteros
y estructuras
Un
puntero puede apuntar a una estructura y acceder a sus campos:
struct Dato
{
int campo1, campo2;
char campo3 [30];
};
struct Dato x;
struct Dato *ptr;
...
ptr = &x;
(*ptr).campo1 = 33;
strcpy ( (*ptr).campo3, "hola" );
El
operador ->
Para
hacer menos incómodo el trabajo con punteros a estructuras, el C tiene
el operador flecha
->
que se utiliza de esta forma:
ptr->campo
que
es equivalente a escribir
(*ptr).campo
Así,
el ejemplo anterior quedaría de esta forma:
ptr = &x;
ptr->campo1 = 33;
strcpy ( ptr->campo3, "hola" );