Puntatori e Strutture
Nell’uso congiunto di strutture e puntatori, come mostrato nell’esempio seguente scritto in C:
struct PIPPO { int x, y, z; } elemento; struct PIPPO *puntatore;
puntatore = &elemento;
puntatore->x = 6; puntatore->y = 8; puntatore->z = 5;
si può notare che abbiamo creato una struttura di tipo PIPPO e di nome “elemento”, ed un puntatore ad una struttura di tipo PIPPO. Per accedere ai membri interni della struttura “elemento” abbiamo usato l’operatore -> sul puntatore alla struttura. Inoltre è possibile utilizzare i puntatori anche per, ad esempio, le liste semplici (tratteremo le liste nella lezione 15), in cui per collegare due elementi, basta scrivere:
typedef struct { int inf; ELEMENTO *pun; } ELEMENTO;
ELEMENTO ele1, ele2;
// in questo modo faccio puntare il primo elemento al secondo ele1.pun = &ele2;
ESEMPIO PRATICO (Visualizza il sorgente completo) Il largo uso fatto di puntatori fa capire quanto siano importanti questi strumenti per scrivere codice potente (in termini di capacità), ma allo stesso tempo estremamente ridotto (rispetto ad una versione senza puntatori). Ad esempio è possibile modificare gli elementi di una lista (spiegato successivamente) semplicemente “giocando” con i puntatori.
415 // trovato l’elemento gli faccio puntare l’oggetto puntato dal suo 416 // puntatore, in poche parole “salto” l’elemento da eliminare 417 if(subscelta == n) 418 { // IF – OPEN 419 420 aus->pun=aus->pun->pun; 421 422 } else { // ELSE 423 424 // Nel caso in cui il puntatore fosse NULL, per non creare casini 425 // glielo assegniamo direttamente 426 aus=aus->pun; 427 428 } // IF – CLOSE
Se vuoi aggiornamenti su Puntatori e Strutture inserisci la tua email nel box qui sotto:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
La tua iscrizione è andata a buon fine. Se vuoi ricevere informazioni personalizzate compila anche i seguenti campi opzionali:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
I Video di HTML.it
Alessandro Manfredi
Alessandro Manfredi – FileRock