Probléme avec les pointeurs

Probléme avec les pointeurs - C - Programmation

Marsh Posté le 24-07-2006 à 19:35:42    

Salut,
 
Je travail avec actuellement sur un programme informatique en C / C++
dans mon programme j'ai des listes doublements chainées.
Lorsque j'effectue des tests sur le pointeur suivant, il plante en release, mais pas en débug.
car j'accéde à un pointeur qui pointe sur des ressources systémes.
existe il une fonction permettant de vérifier si le pointeur est correcte ou non ???
 
Merci d'avance pour vos réponses !

Reply

Marsh Posté le 24-07-2006 à 19:35:42   

Reply

Marsh Posté le 24-07-2006 à 19:38:43    

Bah la meilleure solution, c'est de pas ecrire n'importe quoi [:spamafote]
 
 
poste un peu de ton code avec les balises "[cpp]" et on t'aidera...

Reply

Marsh Posté le 24-07-2006 à 20:09:28    

Je ne peux poster mon code, car mon code est au boulot, et la je suis chez moi
Mais j'ai un truc du style:
Monretour MaFonction(LISTE * liste)
{
if(liste->p_sup != NULL )
MaFonction(liste->p_sup);
else
Return liste->toto;
}
 
Et il me plante sur le test du liste->p_sup
....................
Sachant que toute mes initialisations se font avec NULL
sur tous mes pointeurs ......
Une idée ???

Reply

Marsh Posté le 24-07-2006 à 20:22:35    

Que sans code exact, on ne pourra pas t'aider.

Reply

Marsh Posté le 24-07-2006 à 20:41:52    

astragoth a écrit :

Je ne peux poster mon code, car mon code est au boulot, et la je suis chez moi
Mais j'ai un truc du style:
Monretour MaFonction(LISTE * liste)
{
if(liste->p_sup != NULL )
MaFonction(liste->p_sup);
else
Return liste->toto;
}
 
Et il me plante sur le test du liste->p_sup
....................
Sachant que toute mes initialisations se font avec NULL
sur tous mes pointeurs ......
Une idée ???


Oui, une idée serait de vérifier que "liste" n'est pas égal à NULL. De plus, tu fais un algo récursif qui, à un certain moment te renverra "liste(n)->toto" (si je lis bien l'algo cela te renverra le dernier "toto" de ta liste) mais une fois ce "toto" renvoyé à la fonction récursive précédente de rang "n - 1", celle-ci ne le récupère pas et ne renvoie rien. Je pense qu'il te manque un return style

Monretour MaFonction(LISTE *liste)
{
    if(liste->p_sup != NULL )
        return(MaFonction(liste->p_sup));
    else
        Return liste->toto;
}


 
Sinon faire une fonction récursive pour ça c'est pas génial. Consommation de ressources excessives pour réduire un algo pas vraiment compliqué

Monretour MaFonction(LISTE *liste)
{
    LISTE *courant
 
    for (courant=liste; courant->p_sup != NULL; courant=courant->p_sup);
    return courant->toto;
}


Message édité par Sve@r le 24-07-2006 à 20:42:41
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed