begin process at 2012 02 11 05:41:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

erreur dans la fonction d'impression


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

erreur dans la fonction d'impression

samedi 21 janvier 2006 à 15:06:26 | erreur dans la fonction d'impression

dark_cross

voici j'ai une erreur dans ma fonction d'impression si quelqu'un peux m'expliquer, je serais tres ravie.


#include <stdio.h>
#include <stdlib.h>

//speciale dedicasse Etienne Sigwald

//Structures de données

//creation de la case
typedef struct cell_
{
    int elt;
    struct cell_ *next;
}cell;

//definition du type

typedef cell* list;

//affichage de la liste

void print(list l)
 {
    printf("list : \n");
    while(l!=NULL)
    {
        printf("%d\n",l->elt);
        l = l->next;
    }
    printf("\n");
}


//initialisation de la liste

//insertion d'une cellule en debut de liste
list insertList(list l,int elt)

{
    cell *c;
    c=(cell*)malloc(sizeof(cell));
    if (c==NULL)return NULL;
    c->elt=elt;
    c->next=l;
    return c;//return le nouveau premier element

}
//insertion d'une cellule en fin de liste
list insertfinlist(list l, int elt)
{
    list tmp=NULL, first=l;
    cell *f;
    f=(cell*)malloc(sizeof(cell));
    //    printf("bonjour1\n");
    if(f==NULL)return NULL;
    //    printf("bonjouri2\n");
        f->elt=elt;
        f->next=NULL;
    //    printf("bonjour6\n");   
    while(l!=NULL)
        {tmp=l;
        l=l->next;
    //    printf("bonjouri3\n");
        }
        if(tmp!=NULL)
        tmp->next=f;
return first;
}

void delete(list l)//supression de la liste
{
    list t;//valeur temporaire
    while(l!=NULL)
    {
        t=l;//mise en memoire de la premiere valeur
        l=l->next;//passage a la valeur d'apres
        free(t);//supression de la permiere valeur
    }
}   
//creation d'une liste circulaire

void circ(list l)
{
    list t=NULL;
    list first=l;
    while(l!=NULL)
    {
        t=l;
        l=l->next;
    }
        if(t!=NULL)   
    t->next=first;
}

int main()

{
    cell *l=NULL;//initialisation de lit l (list l<-> cell *l)
    l=insertList(l,12);//l devient le nouveau premier   
    l=insertfinlist(l,14);
    print(l);//affichage de la liste !!!!!!!!!!!
    delete(l);
//    circ(l);
    printf("ca marche\n");
    print(l);
    return(0);
}
voici les erreurs valgrind que j'ai: et je ne vois pas d'ou ca peux venir
list :
12
14

lolca marche
list :
==20438==
==20438== Invalid read of size 4
==20438==    at 0x8048433: print (liste-1.c:27)
==20438==    by 0x8048614: main (liste-1.c:116)
==20438==  Address 0x1BA43028 is 0 bytes inside a block of size 8 free'd
==20438==    at 0x1B90144F: free (vg_replace_malloc.c:235)
==20438==    by 0x804854E: delete (liste-1.c:88)
==20438==    by 0x80485F6: main (liste-1.c:113)
12
==20438==
==20438== Invalid read of size 4
==20438==    at 0x8048449: print (liste-1.c:28)
==20438==    by 0x8048614: main (liste-1.c:116)
==20438==  Address 0x1BA4302C is 4 bytes inside a block of size 8 free'd
==20438==    at 0x1B90144F: free (vg_replace_malloc.c:235)
==20438==    by 0x804854E: delete (liste-1.c:88)
==20438==    by 0x80485F6: main (liste-1.c:113)
14

lol==20438==




samedi 21 janvier 2006 à 16:59:48 | Re : erreur dans la fonction d'impression

gagah1

Membre Club
Fait gaffe au pointeur.
Dans ta fn main(), tu supprimes list l avec delete(l) après tu l'affiche en appelant print(l).


Cette discussion est classée dans : liste, list, elt, next, cell


Répondre à ce message

Sujets en rapport avec ce message

erreur "Segmentation fault" en C++ [ par antgre ] Bonjour a tous,Je travaille sur un programme dont une partie doit implementer une liste de points.Chaque point comprenant un certain nombre de caracté Violation d'accès lors de la lecture de l'emplacement 0x00000000. [ par d0jones ] bonjour, j'ai un petit souci, quand j'essai d'accéder à la donnée de ma struct j'ai le message suivant : Exception non gérée à 0x01202029 dans ListTe pb liste [ par mat74 ] salut a ts ,j'ai essayer de faire une fonction avec des liste en param et sa marche pas .int nb_element_liste (std::list liste_teste,std::list it_test Liste stl et fonction constante [ par poiuytrez3 ] Bonjour,J'ai une erreur de compilation lorsque je veux définir un cursor au début de ma liste qui est dans mon objet.La fonction est constante et le c liberer un emplaceemnt dans une "list" en c++ sans supprimer l'objet [ par timy94 ] BonjourVoici mon codeCEvenement & MyClasse::Get_Evt(){       list ::iterator pEvt;       list ::iterator pListEvt = m_Liste_Evt.begin();        pEvt Windows Form Liste dynamique globale [ par Rodrigo62 ] -- Bonjour tout le monde,Je suis en train de réaliser une application avec une Windows Form. Le but est de gérer une liste de pièces.Pour cela, j'ai r Problème de chainage dans un tableau dynamique [ par hachure1 ] Voila ce bout de code qui extrait les données d'un graphe dans un fichier et stoke cela dans un tableau dynamique contenant de sommets ou chaque case STD::list, un problème lors de l'utilisation d'attributs de type liste dans un objet stockée dans un tableau ou vector [ par mohamed_bn ] Bonjour, J'ai une structure comme suit: [color=red]typedef struct DataFlow : public cObject { std::list receivedPackets; int numberOfPacketsNotYet List de l'aide svp [ par silverfr78021959 ] Bonjour voilà je dois créer une liste et de la en faire l'affichage, mais cette affichage doit être fait particulierement. Je m'explique je voudrais a


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,212 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales