Ragazzi studiando dalla guida che c'è nel sito ho provato a fare questa semplice lista:
Ma nella funzione crea lista non devo mettere nessun parametro??
mi da il seguente errore:
Riga11) two or more data types in declaration of `crea_lista'
Grazie mille
codice:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
/*struttura elementi della lista*/
struct elemento{
int info;
struct elemento *pun;
}
/*funzioni*/
struct elemento *crea_lista();
void visualizza_lista(struct elemento *);
main()
{
struct elemento *lista;
lista = crea_lista();
visualizza_lista(lista);
system("PAUSE");
}
/*Funzione crea_lista*/
struct elemento *crea_lista()
{
struct elemento *p,*punt;
int i, n;
printf("Specificare il numero di elementi...");
scanf("%d",&n);
if (n==0){
p = NULL; //lista vuota
}else {
/*creazione primo elemento*/
p = (struct elemento *)malloc(sizeof(struct elemento));
printf("Inserisci il primo valore:");
scanf("%d", & p->info);
punt=p;
/*creazione elementi successivi*/
for(i=2; i<=n;i++){
punt->pun = (struct elemento *)malloc(sizeof(struct elemento));
punt = punt->pun;
printf("Inserisci il %d elemento della lista:",i);
scanf("%d", & punt->info);
}// chiudo il for
punt->pun = NULL;
}
return(p);
}
void visualizza_lista(struct elemento *p)
{
printf("LISTA ---> ");
/*scansione lista*/
while (p != NULL)
{
printf("%d", p->info);
printf("---> ");
p= p->pun;
}
printf("NULL\n");
}