Ominide 7993 punti

Come dereferenziare con 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.

Se si dereferenziano puntatori non inizializzati o non inizializzati in modo corretto o quando sono inizializzati a NULL, causano comportamenti non definiti.
Per dereferenziare un puntatore a void, si deve prima convertire nel tipo adatto int x;
void *p = &x;
*(( int *)p) = 1;
Per dichiarare variabili che contengono gli indirizzi della variabili puntatore si applica un numero sufficiente di volte * davanti all’identificativo, mentre per dereferenziare puntatori a puntatori, si applica * adeguatamente.
Puntatori a const sono indirizzi di memoria a cui non è possibile accedere per modificarne il contenuto non per forza di cosa la variabile puntata è const, ma non è solo possibile modificare il valore tramite dereferenziazione.
È possibile però modificare il valore di una variabile const assegnando il suo indirizzo a un puntatore non const, questo comportamento è poco pulito e genera warning del compilatore.
int x;
int * const p = &x; // p e un puntatore read - only ad int
int const *q = &x; // q e un puntatore a un un int read – only
Se si considera un puntatore read-only ad int , si può inizializzare e modificare il contenuto della cella puntata solo tramite dereferenziazione, ma questo puntatore può essere solo inizializzato e non modificato successivamente.
Hai bisogno di aiuto in Informatica?
Trova il tuo insegnante su Skuola.net | Ripetizioni
Potrebbe Interessarti
×
Registrati via email