- Oltre ai tipi esposti esistono i puntatori
- Il puntatore è un modificatore di un tipo intrinseco o definito
- Questo vuol dire che ogni puntatore può puntare a variabili di un solo tipo
- L'unica eccezione è il puntatore a void, che punta ad una variabile di tipo generico
e viene usato dove si devono fare operazioni con la zona di memoria piuttosto che con la variabile
(scrivere o leggere da disco, spostare, copiare ecc.)
- Per definire una variabile puntatore si pone tra il tipo ed il nome della variabile
l'operatore * (es. int *pint;)
- Per operare con la variabile puntata da un puntatore si utilizza l'operatore * (es i=*pint;)
- Per assegnare ad un puntatore l'indirizzo di una variabile si utilizza l'operatore & (es pint=&i;)
- Si possono fare assegnamenti o confronti tra variabili puntatore dello stesso tipo
- Si possono sommare o sottrarre interi ad una variabile puntatore, in questo caso la variabile verrà
fatta avanzare o retrocedere di tanti elementi del tipo base
- Si possono fare differenze tra puntatori dello stesso tipo. Il tisultato è un intero
che indica quanti elementi sono compresi tra un puntatore e l'altro
|