Per dichiarare tutte e tre le variabili come puntatori, occorre fare: int *a, *b, *c; ossia, si deve mettere l'asterisco * davanti a ognuna delle variabili. La regola per la dichiarazione dei puntatori è semplicemente che un asterisco davanti a una variabile dichiara la variabile (e solo quella) come un puntatore.
Cosa è un puntatore? Un puntatore è una variabile che contiene l'indirizzo di memoria di un'altra variabile. Quando dichiariamo una variabile, a questa verrà riservato un indirizzo di memoria, ad esempio la posizione 1000 . Un puntatore contiene, appunto, l'indirizzo di tale variabile (quindi il valore 1000 ).
I puntatori si possono stampare con printf e specificatore di formato “%p” (stampa in formato esadecimale). Si pu`o usare %p anche con scanf, ma ha poco senso leggere un indirizzo. Esempio: Scambio del valore di due variabili.
Un puntatore è un oggetto il cui valore rappresenta l'indirizzo di un altro oggetto o di una funzione. Nelle seguenti dichiarazioni p e q sono puntatori ad interi.. int *p,*q; In linguaggio C per ottenere l'indirizzo di un oggetto si usa l'operatore & il cui risultato può essere assegnato ad un puntatore.
Come potete notare il passaggio per riferimento avviene utilizzando il simbolo * e poi la variabile, cioè utilizzando il puntatore alla variabile. Ad un puntatore infatti si fa puntare l'indirizzo della variabile e quindi chiaramente cambiando il puntatore si cambia il valore da esso puntato.