#include <stdio.h>
int main()
{
struct lista
{
int dato;
struct lista *succ;
}; /* struttura elementi della lista */
typedef struct lista lista;
int x; /* uso "x" per assegnare il primo elemento della lista, in seguito dichiarerò "y" che userò per gli elementi successivi.*/
lista *nuovo;
printf("inserire valori: ");
scanf("%d",&x);
if(x!=-1){
nuovo=(lista*)malloc(sizeof(lista)); /* alloco memoria x il primo elemento */
x=nuovo->dato; /* Inserisco il primo elemento della lista */
int y;
scanf("%d",&y);
y=nuovo->succ;
while (y!=-1){ /* finchè non viene inserito il valore -1 continuo a assegnare nuovi elementi alla lista */
nuovo=(lista*)malloc(sizeof(lista));
y=y->succ;
scanf("%d",&y);
}
y->succ=NULL; /* quando inserisco il valore -1, la lista è finita. */
}
else nuovo->=NULL; /* se x è uguale a -1 la lista deve essere vuota */
free(nuovo); /* libero la memoria allocata */
return 0;
}

Rispondi quotando