PDA

View Full Version : [C] Cosa esegue questa istruzione?


piumone
20-07-2007, 16:43
#include <stdio.h>
#include <stdlib.h>
typedef struct{int X,Y;} SECONDO;
typedef struct{double A; SECONDO B;} PRIMO;
int FZX(SECONDO sec, PRIMO *prim)
{ int ret=0;

prim -> B = sec; if(sec.Y != 0)
{
prim->A = sec.X;
prim->A /= sec.Y; ret=1;
}
return ret;
}

Furla
20-07-2007, 16:53
cos'è che non ti torna, la freccia? se non è quella il codice che hai postato è semplice e piuttosto chiaro...

definisci meglio la tua perplessità.

piumone
20-07-2007, 18:19
cos'è che non ti torna, la freccia? se non è quella il codice che hai postato è semplice e piuttosto chiaro...

definisci meglio la tua perplessità.

Si la parte in rosso. O meglio la freccia! sorry

Furla
20-07-2007, 18:28
la freccia serve ad accedere ai membri di una struttura tramite un puntatore ad essa. infatti

prim -> B = sec

è equivalente a

(*prim).B = sec

è un operatore introdotto presumibilmente per rendere più veloce la scrittura del codice, essendo da un lato molto frequente l'uso di puntatori a strutture, e dall'altro inevitabile l'uso delle parentesi per non assecondare la precedenza che ha l'operatore primario di selezione (.) su quello unario di dereferenziazione (*).