I puntatori

Nel c/c++ esiste una entità nota come puntatore. Il puntatore è una peculiarità del linguaggio c/c++ che lo rende molto potente (e pericoloso…).

Per esempio, l’istruzione :

a = 10;

assegna il valore 10 alla variabile a. Ma che cosa è una variabile ? Nient’altro che una cella della vostra memoria di lavoro (RAM).

Per prelevare l’indirizzo di questa cella di memoria utilizziamo l’operatore & (address). In questo modo la seguente istruzione :

pointer = &a;

non farà altro che assegnare alla variabile pointer l’indirizzo in memoria della variabile a.

In questo modo le ultime due istruzioni seguenti sono del tutto equivalenti.

int a;
int *pointer;

pointer=&a;

a = 5;
*pointer = 5;

Infatti entrambe le istruzioni assegnano alla variabile a il valore 5.

Esempio:

int a;
int *pointer;

pointer=&a;

*pointer = 5;

*pointer = *pointer + a;
// Dopo questa istruzione a vale 10