Controllo utente in corso...
  • Tutti gli appunti di Studenti.it sul tuo iPhone, gratis!
  • Guadagna con gli appunti!

Programmazione 2: Dati astratti (lista, pila, coda) e algoritmi sugli stessi. Teoria ed esercizi(formato pdf pg 51) ( formato pdf)

VOTO: 0 Appunto inviato da ariete81

NOTE aggiuntive al corso di Programmazione II Docente: Paolo Terenziani a.a. 2000-2001 Le note nel seguito costituiscono una integrazione del libro di testo "Data Structures and Program Design in C", Robert L. Cruse, Clovis L. Tondo, Bruce P. Leung, II edizione, Prentice Hall International Editions. Avvertenza. Sebbene gli algoritmi qui riportati siano stati prima verificati su computer, non si esclude la presenza di errori, dovuti per lo piu a distrazioni all'atto della trascrizione degli stessi. Gli studenti che rilevassero eventuali errori sono pregati di segnalarli, al fine di migliorare la qualita delle note stesse. Parte 0: Strutture in C 0.1 Strutture Le Strutture sono tipi di dati composti. Nel caso degli array (vettori) si devono dichiarare il tipo di dati che essi contengono (ad esempio, posso avere array di interi, reali, caratteri ; con le strutture si possono avere più tipi di dati. Vediamo un esempio: struct point int x; int y; Nella precedente dichiarazione si utilizza un nuovo tipo di dati: struct, struttura. Esso è caratterizzato da: - un'etichetta o tag: in questo caso il tag è point. (Così come si fa per le funzioni, è opportuno dare nomi alle strutture in modo tale da poterle riconoscere subito per quello che rappresentano) - uno o più campi, che servono a memorizzare l'informazione necessaria a rappresentare la struttura in oggetto. Nel nostro esempio la struttura e un punto, il quale è caratterizzato da un'ascissa ed un'ordinata, in pratica due interi x ed y. Si noti che, nell'esempio proposto, i campi della struttura sono tutti dello stesso tipo (int). In generale, pero', i campi di una struttura possono avere tipi diversi, come mostrato dalla struttura "person" nel paragrafo 0.4. Ora è possibile sfruttare questo nuovo tipo di dati per dichiarare nuove variabili. Supponiamo, ad esempio, di voler avere una variabile p di tipo struttura punto (struct point): ci sono due modi per compiere questa operazione: struct point int x; int y; p; struct point int x; int y; ; struct point p; Quindi, nel primo caso si pone il nome del dato di tipo struttura subito dopo la dichiarazione della sua struttura, mentre nel secondo si dichiara p in un momento successivo. 0.2 Utilizzo Per inserire i dati nella struttura è possibile operare in questo modo: struct point p=10,12; E necessario inserire tanti valori quanti sono i campi e rispettare i tipi di dati precedentemente dichiarati (cioè se sono stati dichiarati campi di caratteri, non è possibile poi inserire interi). Per stampare i campi di una struttura si usa un accesso del tipo: nomestruttura.campo: printfddp.x,p.y); Così come esistono le singole strutture, allo stesso modo è possibile avere strutture di strutture. Vediamo come esempio un rettangolo "r" definito da 2 punti, a loro volta strutture. struct rect struct point pt1; struct point pt2; ; struct rect r; r pt1 x y x y pt2 Per assegnare alla variabile pippo il valore contenuto nel campo y del primo punto, sarà sufficiente scrivere: Continua »

vedi tutti gli appunti di informatica »
Carica un appunto Home Appunti
Pagina eseguita in 0.217114210129 secondi