Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [C] problema lista e puntatori

    Salve a tutti

    Ho un problema nel funzionamento del mio programma fatto in C. Il codice è il seguente :

    codice:
    void inserisci (int mat, alunno *head){
         
         alunno *nuovo;                                       //puntatore al nuovo alunno
         nuovo = (alunno *) malloc(sizeof(alunno));  //alloco la memoria necessaria per inserire
         alunno->matricola = mat;
         alunno->next = head;                              //inserisco in testa alla lista
         head = alunno;
         }
    
    void scorrilista(alunno *head){
    alunno *corr;
    int controlla = 0;
    
    corr = head;
    
    while(corr){
             printf("%d  mat corrente \n", corr->matricola);
             corr = corr->next;
             controlla++;
             }
             }
    
    
    
    
    
    main()
    
    alunno *testa;
    testa = NULL;
    La struttura dati è corretta, i campi ci sono tutti e l'inserimento viene fatto senza problemi. Il problema nasce quando vado a scorrere la lista. Il programma v in crash generndo un errore relativo alla memoria.

    La domanda che vi pongo è : sbaglio a settare i due puntatori nella funzione di inserimento, oppure sbaglio a creare la lista?

    Attendo un vostro aiuto :-)

  2. #2
    problema risolto. Ho creato un nodo fittizio che funge da var globale, e cosi funziona.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.