Salve a tutti,
avrei bisogno di un saggio ed illuminato parere. Compilando il seguente
sorgente in C, il sistema (anche sotto linux) va irrimediabilmente in crash.
Tutto va bene fino a che la funzione modifica assegna il valore 'R' a
s.dato, ma poi si blocca quando deve assegnare il valore 5 a (s.ptr)->dato.
Perchè?????? Cosa sbaglio?
Grazie a chi potrà tirarmi fuori dai guai
Simone Saravalli
#include <stdio.h>
typedef int elem;
typedef struct node {
elem dato;
} item;
typedef struct node *noderef;
typedef struct sequenza {
char mode;
noderef ptr; puntatore a struct node
} sequence;
void modifica (sequence s) {
s.mode='R';
(s.ptr)->dato=5; //questo non me lo accetta
printf ("\nCarattere impostato: %c\n", s.mode);
printf ("\nValore impostato: %d\n", (s.ptr)->dato);
}
main() {
sequence s;
modifica (s);
return 0;
}
|