Cosa succede quando Inizializzo un puntatore con un array?

Domanda di: Demis Conti  |  Ultimo aggiornamento: 18 marzo 2023
Valutazione: 4.4/5 (61 voti)

Quando si dichiara un array, in realtà si dichiara un puntatore, con alcune caratteristiche in più: la dichiarazione di un puntatore comporta allocazione di memoria per una variabile puntatore, ma non per la variabile puntata.

Cosa vuol dire inizializzare un array?

Una dichiarazione di array consiste di due fasi: creazione del riferimento e allocazione dello spazio necessario a memorizzare gli elementi. Quindi una variabile di tipo array è solo un riferimento o puntatore all'area di memoria dove viene allocato l'array.

In che modo è possibile gestire un array con un puntatore?

Quindi per raggiungere un elemento qualsiasi dell'array utilizzando un puntatore, l'istruzione puo' essere: ptr + i = a[i] Attenzione: non c'e alcun limite di controllo per array e pointer, cosi' e' facilmente possibile oltrepassare la memoria prevista per un array e sovrascrivere altre cose.

Come inizializzare un puntatore?

Un puntatore può essere inizializzato con un indirizzo di memoria, con il valore zero o con il valore speciale NULL: quest'ultimo è una particolare costante definita all'interno del file di intestazione stddef.

Come Dereferenziare un puntatore?

Per accedere al puntatore di utilizza l'operatore di dereferenziazione o in direzione *. Per accedere e modificare il contenuto di una variabile si usa il riferimento diretto con il nome della variabile o con riferimento indiretto all'indirizzo di memoria contenuto nella variabile del puntatore.

Puntatori a Puntatori in C