|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Jan 2012
Messaggi: 2
|
[C]
Salve a tutti!
Sono qui ad esporre un altro problema :S Creazione di un array di liste, per poi potervi fare al suo interno operazioni varie come la ricerca di un valore... non ho trovato molto materiale sull'argomento array di liste, quindi durante l'implementazione sto riscontrando diversi problemi! Codice:
struct cella { int valore; struct cella *next; }; int main() { struct cella *temp; struct cella *nuovo; struct cella *testa; int i; struct cella *array[3]; for(i=0;i<3;i++) { array[i]=NULL; } printf("Inserisco gli elementi nella lista 1"); printf("\n"); nuovo = (struct cella*)malloc(sizeof(struct cella)); //ho allocato lo spazio in memoria per la prima cella della lista nuovo->next = testa; testa = nuovo; nuovo = array[0]; //associo a nuovo l'indice 0 dell'array e gli inserisco il valore scanf("%d", &array[0]->valore); array[0]->next = array[0]; //sono incerta cosa mettere, sicuramente il passaggio errato è questo (speriamo sia solo questo!) } ma non mi si compila, si chiude l'exe dopo poco e da errore!! sapete aiutarmi?^^ grazie in anticipo! |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
Fai una cosa. Non pensare "array di liste". Concentrati su implementare correttamente una struttura dati lista. Poi il passaggio dovrebbe essere indolore.
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2011
Messaggi: 381
|
Ciao, ci sono un paio di errorucci:
1) Quando fai "nuovo->next = testa;" testa non è stato inizializzato. Quindi prima ci va testa=NULL; 2) nuovo = array[0]; oltre ad perdere il riferimento all'oggetto allocato non ha molto senso, credo che tu volessi scrivere array[0]= nuovo; o, anche se è la stessa cosa, è più corretto scrivere array[0]=testa; 3) fai la scanf su array[0] ovvero su un puntatore a NULL... 4) array[0]->next = array[0]; ![]() ![]() Credo che, come ha già suggerito ndakota, devi iniziare con una semplice lista, anzi... da una semplice struct. Ciao
__________________
Concluso positivamente con: Kamzata, Ducati82, Arus, TheLastRemnant, ghost driver, alexbull1, DanieleRC5, XatiX |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:41.