nongio
03-01-2008, 16:25
Ciao a tutti, mi sto esercitando nel fare delle liste, ma in tutte quelle che ho fatto, durante la compilazion mi esce sempre lo stesso errore....
Allora ho deciso di ristudiare il tutto e di provare a fare un programma di prova sulle liste, che ho trovato on-line...
vi posto il codice
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
struct elemento
{
int inf;
struct elemento *pun;
}
struct elemento *crea_lista();
void visualizza_lista (struct elemento *);
int main ()
{
struct elemento *lista;
lista = crea_lista();
visualizza_lista (lista);
return 0;
}
struct elemento *crea_lista()
{
struct elemento *p, *punt;
int i, n;
printf ("n specificare il numero di elementi da inserire: ");
scanf ("%d", &n);
if (n==0)
{
p= NULL;
}
else
{
p= (struct elemento *)malloc(sizeof(struct elemento));
printf ("nInserisci il primo valore: ");
scanf("%d", p->inf);
punt = p;
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);
}
punt->pun= NULL;
}
return (p);
}
void visualizza_lista (struct elemento *p)
{
printf ("nlista ---> ");
while (p !=NULL)
{
printf ("%d", p->inf);
printf (" ---> ");
p = p->pun;
}
printf ("NULLnn\n");
}
l'errore riscontrato č questo
lista2.c:11: error: two or more data types in declaration specifiers
mi da l'errore alla riga 11...... ma in cosa consiste???
scusate il disturbo
grazie mille!
Allora ho deciso di ristudiare il tutto e di provare a fare un programma di prova sulle liste, che ho trovato on-line...
vi posto il codice
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
struct elemento
{
int inf;
struct elemento *pun;
}
struct elemento *crea_lista();
void visualizza_lista (struct elemento *);
int main ()
{
struct elemento *lista;
lista = crea_lista();
visualizza_lista (lista);
return 0;
}
struct elemento *crea_lista()
{
struct elemento *p, *punt;
int i, n;
printf ("n specificare il numero di elementi da inserire: ");
scanf ("%d", &n);
if (n==0)
{
p= NULL;
}
else
{
p= (struct elemento *)malloc(sizeof(struct elemento));
printf ("nInserisci il primo valore: ");
scanf("%d", p->inf);
punt = p;
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);
}
punt->pun= NULL;
}
return (p);
}
void visualizza_lista (struct elemento *p)
{
printf ("nlista ---> ");
while (p !=NULL)
{
printf ("%d", p->inf);
printf (" ---> ");
p = p->pun;
}
printf ("NULLnn\n");
}
l'errore riscontrato č questo
lista2.c:11: error: two or more data types in declaration specifiers
mi da l'errore alla riga 11...... ma in cosa consiste???
scusate il disturbo
grazie mille!