我試圖用C語言創建一個列表,在頭部插入新元素,之後我想打印元素的值。在鏈接列表的頭部插入一個新元素並打印元素值
這是我寫的一個代碼:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
struct clients
{
int stato; //stato del giocatore : 0 libero 1 occupato
struct clients *next; //puntatore all'elemento successivo della lista
};
typedef struct clients player; /* per comodita' */
// funzione che inserisce elem in testa alla lista
void inserisci(player *elemento, player *lista)
{
elemento->next=lista;
lista=elemento;
}
// funzione che visualizza la lista
void visualizza(player *lista)
{
player *p = lista; //creo puntatore alla lista passatagli
while (p != 0)
{
printf("valore %d \n",p->stato);
p=p->next;
}
}
// main principale
int main(void)
{
player *first = NULL; /* puntatore al primo elemento della lista */
player *pippo = NULL;
int i;
printf("inizio inserimento \n");
for (i=1;i<=10;i++)
{
pippo=malloc(sizeof(player));
pippo->stato=i;
pippo->next=NULL;
inserisci(pippo,first);
pippo = NULL;
}
printf("fine inserimento. Ora stampa ! \n");
visualizza(first);
return 0;
}
但是當我運行的代碼不打印列表中的元素的值:您要指派給本地/
這是一個完整的錯誤的程序。首先閱讀關於鏈接列表。 – haccks
看看:[斯坦福鏈接列表教程](http://cslibrary.stanford.edu/103/LinkedListBasics.pdf) –
@ aeroxr1看到我的答案。 –