Quote:
Originariamente inviato da k_mishima
Ciao, devo fare questo esercizio, ma il programma mi crasha e non capisco dov'è l'errore, per ora sono alla parte statica.
Codice:
head=NULL;
....
head=head->p;
head->p=NULL;
|
La prima volta (inserimento del primo elemento) head vale NULL, quindi non puoi fare head->p. Inoltre 'p' cosa conterrebbe? Non si sa ...
La questione è tutta lì, c'è da fare un caso specifico per il primo inserimento.
Quote:
Originariamente inviato da k_mishima
Codice:
Simulare i C la gestione di 1 pila (stack) tramite array (array di struct) statico
e dinamico [che differenza c'è?]
|
Una pila stack si può realizzare appunto in due modi:
- Tramite un array e in questo caso la lista di elementi non serve che sia "linkata" (cioè non c'è bisogno di un puntatore all'elemento seguente). Ci si basa solo su un indice che indica il 'top'.
- Tramite una lista linkata e in questo caso è necessario che ogni elemento abbia un puntatore al seguente. In genere in questi casi ogni elemento viene allocato in modo dinamico con malloc ecc...