Ominide 7992 punti

Puntatori e strutture


Si possono definire strutture i cui membri possono essere di tipo puntatore e si possono anche dichiarare variabili di tipo puntatore a strutture. Le due cose sembrano simili tra loro ma invece nel codice si nota una grande differenza.
Il C ha regole sintattiche per:
- L’accesso ai campi che compongono una struttura attraverso l’utilizzo di puntatori: per poter accedere ai campi si utilizza l’operatore di dereferenziazione *.
È però possibile anche accedere ai membri di una
struttura tramite l’utilizzo di un altro puntatore, ovvero con l’operatore ->
- La dichiarazione di strutture autoreferenziali tramite puntatori: queste possono essere utili per alcuni problemi specifici, ovvero se si hanno strutture che contengono diversi campi il cui tipo è la struttura stessa. Non è possibile definire campi di una struttura il cui tipo è la struttura stessa, ma si possono definire campi di tipo puntatore che puntato alla struttura stessa. Le strutture autoreferenziali necessitano di forward declaration (ovvero devono essere dichiarati prima del loro utilizzo, proprio come i prototipi). È quindi essenziale che la struttura abbia un tag, altrimenti non sarebbe possibile riferirsi alla struttura desiderata. Le strutture autoreferenziali sono utilizzate molto in C per costruire strutture dinamiche.
Hai bisogno di aiuto in Informatica?
Trova il tuo insegnante su Skuola.net | Ripetizioni
Potrebbe Interessarti
×
Registrati via email