18.08.2013 Views

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

6.8 Elemento di struttura<br />

o<strong>per</strong>atore .<br />

punto<br />

sintassi strutt . camp<br />

n. o<strong>per</strong>andi 2<br />

utilizzo accesso al campo camp della struttura strutt<br />

associativita’ =⇒<br />

commutativita’ NO<br />

Viene utilizzato <strong>per</strong> indicare l’elemento di una struttura. I due o<strong>per</strong>andi sono una struttura,<br />

ovvero un’espressione il cui valore è una struttura, e il nome di campo di tale struttura.<br />

Nell’esempio seguente,st_mode è un campo di tipo intero della strutturastruct stat dichiarata<br />

nel file di intestazione stat.h.<br />

#include <br />

/* st_mode è un campo intero di struct stat */<br />

struct stat st, *stptr, stvec[10];<br />

int i;<br />

i = st.st_mode;<br />

i = (*stptr).st_mode;<br />

i = stvec[5].st_mode;<br />

Si noti che il puntatore stptr deve essere allocato o assegnato prima di utilizzarlo.<br />

Le tre istruzioni di assegnamento dell’esempio non sono equivalenti, in quanto possono assegnare<br />

<strong>alla</strong> variabile i dei valori diversi. Si noti l’utilizzo dell’o<strong>per</strong>atore “.” che indica il campo<br />

specifico della struttura struct stat.<br />

6.9 Elemento di struttura da puntatore<br />

o<strong>per</strong>atore − ><br />

freccia (trattino alto + maggiore)<br />

sintassi strutt_ptr − > camp<br />

n. o<strong>per</strong>andi 2<br />

utilizzo accesso al campo camp della struttura puntata da strutt_ptr<br />

associativita’ =⇒<br />

commutativita’ NO<br />

E’ usato quando si deve indicare un elemento di una struttura puntata da un puntatore. I due<br />

57

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!