Questo è l'errore:
codice:
lista.c:9: error: two or more data types in declaration specifiers
E questo è il codice:
codice:
#include <stdio.h>
#include <malloc.h>
struct elemento{
int inf;
struct elemento *pun;
}
struct elemento *crea_lista(void);
void stampa_lista(struct elemento *);
int main()
{
struct elemento *lista; // puntatore della lista
lista = crea_lista(); // crea la lista
visualizza_lista(lista); // stampa la lista
}
struct elemento *crea_lista(void){
struct elemento *p, *punt;
int i, n;
printf("Specificare n° elementi:\n");
scanf("%d", &n);
if(n==0){
p=NULL;
}
else {
/* creazione primo elemento */
p = (struct elemento *)malloc(sizeof(struct elemento));
printf("nInserisci il primo valore: ");
scanf("%d", & p->inf);
punt = p;
/* creazione elementi successivi */
for(i=2; i<=n; i++)
{
punt->pun = (struct elemento *)malloc(sizeof(struct elemento));
punt = punt->pun;
printf("nInserisci il %d elemento: ", i);
scanf("%d", & punt->inf);
} // chiudo il for
punt->pun = NULL; // marcatore fine lista
} // chiudo l'if-else
return(p);
} // chiudo la funzione
void stampa_lista(struct elemento *p)
{
printf("nlista ---> ");
/* ciclo di scansione */
while(p != NULL)
{
printf("%d", p->inf); // visualizza l'informazione
printf(" ---> ");
p = p->pun; // scorre di un elemento
}
printf("NULLnn");
}
Dov'è che sbaglio? Grazie mille!