C3ls1us
24-01-2009, 16:58
Vi riassumo il mio problema:
stò provando ad implementare in C delle liste semplici e a prendere dimestichezza con i puntatori a struct.
Il mio esercizio consisteva nell'implementare una lista semplice, inserire dei dati, e poter visualizzarli in seguito.
Probabilmente si tratta di un errore sintattico, ma è da un giorno che sono fermo, nonostante abbia sfogliato kg di pagine web e non...! Grazie Mille!!! :)
#include <stdio.h>
#include <stdlib.h>
typedef struct lista
{
int x;
int y;
struct lista *succ;
}ls;
struct lista *pt,*punt; //pt e pt ausiliario
int main()
{
int n;
printf("Num di elementi\t");
scanf("%d",&n);
pt=NULL; //inizializzazione
pt=(ls*)malloc(sizeof(ls)*2);
if (pt==NULL)
return 1; //controllo su malloc
punt=pt;
printf("ins dati\n");
while(n>0)
{
scanf("%d",&pt->x);
scanf("%d",&pt->y);
n--;
pt=pt->succ;
}
pt=punt;
printf("%d,%d\n",pt->x,pt->y);
free(pt);
return 0;
}
mattia@mattia:~/c$ ./a.out
Num di elementi 3
ins dati
1
1
2
Segmentation fault :help:
stò provando ad implementare in C delle liste semplici e a prendere dimestichezza con i puntatori a struct.
Il mio esercizio consisteva nell'implementare una lista semplice, inserire dei dati, e poter visualizzarli in seguito.
Probabilmente si tratta di un errore sintattico, ma è da un giorno che sono fermo, nonostante abbia sfogliato kg di pagine web e non...! Grazie Mille!!! :)
#include <stdio.h>
#include <stdlib.h>
typedef struct lista
{
int x;
int y;
struct lista *succ;
}ls;
struct lista *pt,*punt; //pt e pt ausiliario
int main()
{
int n;
printf("Num di elementi\t");
scanf("%d",&n);
pt=NULL; //inizializzazione
pt=(ls*)malloc(sizeof(ls)*2);
if (pt==NULL)
return 1; //controllo su malloc
punt=pt;
printf("ins dati\n");
while(n>0)
{
scanf("%d",&pt->x);
scanf("%d",&pt->y);
n--;
pt=pt->succ;
}
pt=punt;
printf("%d,%d\n",pt->x,pt->y);
free(pt);
return 0;
}
mattia@mattia:~/c$ ./a.out
Num di elementi 3
ins dati
1
1
2
Segmentation fault :help: