Ho fatto questo programma in C :
codice:
#include <stdio.h>
#include <malloc.h>
struct elemento
{
int inf;
struct elemento *pun;
}
struct elemento *crea_lista();
void visualizza_lista(struct elemento *p);
int main()
{
struct elemento *lista;
lista = crea_lista();
visualizza_lista(lista);
system("PAUSE");
return 0;
}
struct elemento *crea_lista()
{
struct elemento *p, *punt;
int i, n;
printf("Specificare il numero di elementi : ");
scanf("%i",&n);
if(n==0)
{
p = NULL;
}
else
{
p = (struct elemento *)malloc(sizeof(struct elemento));
printf("Inserisci il primo valore : ");
scanf("%i",p->inf);
punt = p;
for(i=0;i<=n;i++)
{
punt->pun = (struct elemento *)malloc(sizeof(struct elemento));
punt = punt->pun;
printf("Inserisci il %i elemento : ",i);
scanf("%i",&punt->inf);
}
punt->pun = NULL;
}
return(p);
}
void visualizza_lista(struct elemento *p)
{
printf("Lista : ");
while(p!=NULL)
{
printf("%i--->",p->inf);
p = p->pun;
}
printf("\nNULL");
}
Ma quando lo eseguo mi dice : two or more data types in declaration of `crea_lista'
Quindi cosa devo fare per farlo funzionare?? Scusate ma è la prima volta che uso le liste...