Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 29 di 47
  • livello principiante
Indice lezioni

Puntatori ed Array

Le correlazioni fra puntatori e array: primi esempi di utilizzo
Le correlazioni fra puntatori e array: primi esempi di utilizzo
Link copiato negli appunti

Una digressione su array e puntatori potrebbe portare via moltissimo tempo; in questo ambito ci limitiamo ad accennare alla correlazione tra i due strumenti a disposizione nel linguaggio C.

L'aspetto che accomuna i puntatori e gli array è sostanzialmente il fatto che entrambi sono memorizzati in locazioni di memoria sequenziali, ed è quindi possibile agire su un array (se lo si vede come una serie di blocchi ad indirizzi di memoria sequenziali) come se si stesse agendo su un puntatore (e viceversa); ad esempio se dichiariamo un array "alfa" ed un puntatore "pointer":

// definisco un array ed una variabile intera
int alfa[20], x;

// creo il puntatore
int *pointer;

// puntatore all'indirizzo di alfa[0]
pointer = & alfa[0];

// x prende il valore di pointer, cioè di alfa[0]
x = *pointer;

Se volessi scorrere, ad esempio, alla posizione i-ma dell'array, basterebbe incrementare il puntatore di i; cioè

pointer + i "è equivalente a " alfa[i]

Graficamente questo viene rappresentato come:

         0  1  2  3  4 ... n
         __ __ __ __ __ __ __
alfa    |__|__|__|__|__|__|__|

pointer     +1 +2 .. +i 

Comunque tra array e puntatori ci sono sostanziali differenze:

  • Un puntatore è una variabile, sulla quale possiamo eseguire le più svariate operazioni (come l'assegnamento).
  • Un array non è una variabile convenzionale (è un contenitore di variabili) ed alcune operazioni da array a puntatore potrebbero non essere permesse.

Ti consigliamo anche