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.
- 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 $?
- 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.
- 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.