Laboratorio di Programmazione. AA 2007/08.
Esercitazione n. 12

Scopo di questa esercitazione è di familiarizzarsi con il passaggio di parametri da linea di comando ad un programma C  e con l' implementazione di strutture dati astratte in C.

  1. Scrivere un programma che  faccia apparire su schermo il  numero e i valori dei soli parametri,  con cui viene mandato in esecuzione il comando, che sono preceduti dal segno -  (ma senza il segno meno).
    Es:
    ./a.out -o -xlf  pippo -lm
    dovrebbe far apparire in output:
    o
    xlf
    lm
    Fare anche in modo che main ritorni alla shell il numero di argomenti con cui è stata chiamata. Il valore di ritorno di main può essere visualizzato col comando di shell:
    echo $?
  2. Il file linklist.c  presenta un esempio di definizione, manipolazione ed utilizzo di una lista concatenata.

    Esaminare l' implementazione,  compilare il programma e provare ad utilizzarlo.  Aggiungere una nuova function che invece di aggiungere un nuovo nodo in coda alla lista,  lo aggiunga in testa.  Il nuovo nodo deve cioè  diventare il primo nodo.


  3. Una lista concatenata doppia è  una lista  concatenata in cui ogni nodo è  provvisto di due link:  uno al nodo successivo (come nelle liste concatenate semplici)  ed uno al  nodo precedente.  Con tale meccanismo diviene facile scandire la lista nei due sensi.  Modificare strutture dati e function dell' esempio dell' esercizio precedente in modo da  permettere la creazione,  il cancellamento di un nodo e l' aggiunta di un nodo in una lista concatenata doppia.