Ver Mensaje Individual
  #9 (permalink)  
Antiguo 14/05/2014, 08:14
CalgaryCorpus
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 10 meses
Puntos: 61
Respuesta: problema con arreglo de estruturas

Tanto *p.campo como (*p).campo podrian ser validos, si "p" y "campo" son punteros a algo. No es el caso del ejemplo, pero creo que es bueno aclarar por qué funciona así.

Hay que considerar la precedencia de los operadores: en C el paréntesis tiene máxima precedencia, el punto tiene mas precedencia que el operador de desreferenciación "*".

En esta expresión:
*p.campo
el punto actúa antes que el "*".
En los ejemplos no se quiere esto primero, sino que se quiere desreferenciar primero, por ello (*p).campo hace actuar primero al operador de desreferenciación.
__________________
Visita mi perfil en LinkedIn