[C] TD4

Voir le sujet précédent Voir le sujet suivant Aller en bas

[C] TD4

Message  newu le Mar 27 Oct 2009, 21:45

Merci pour tout aide :

Code:

BMaillon * newBMaillon ( TVal val ) {

   BMaillon * bm ;
   bm->value = val ;
   printf( "%i", bm->value);

En fait l'affichage n'a pas lieu, l'execution du pgm n'a pas lieu, un message de microsoft de ce style :


TD4.exe a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru.

je rappelle que
typedef int TVal ;
typedef struct BMaillon { struct BMaillon * precedent, * suivant ; TVal value ; } BMaillon ;

newu

Nombre de messages : 117
Prénom : Abdou
Statut : 3ème gestion
Localisation : Je dors à l'école.
Date d'inscription : 25/09/2009

Revenir en haut Aller en bas

Re: [C] TD4

Message  nvs le Mar 27 Oct 2009, 21:48

une petite aide : ton programme rencontre une erreur de segmentation ou une violation d'adresse mémoire, c'est selon. il ne te reste plus qu'à mettre le doigt sur le ou les accès mémoire foireux. moi, j'en vois deux Smile

_________________

nvs

Nombre de messages : 5238
Age : 44
Prénom : Nicolas
Statut : prof
Localisation : bxl
Date d'inscription : 24/11/2005

http://nvansteenkiste.googlepages.com

Revenir en haut Aller en bas

Re: [C] TD4

Message  newu le Mar 27 Oct 2009, 21:55

Merci, pour cette indication, mais à vrai dire je ne vois pas ce que je fais d'incorrect.

C'est un affichage d'une valeur de structure BMaillon.

Ms Vanstenkiste pourriez vous SVP me donner un detail en +.

newu

Nombre de messages : 117
Prénom : Abdou
Statut : 3ème gestion
Localisation : Je dors à l'école.
Date d'inscription : 25/09/2009

Revenir en haut Aller en bas

Re: [C] TD4

Message  nvs le Mar 27 Oct 2009, 23:15

le BMaillon auquel tu affectes le contenu de la variable val au champ value, tu le crées quand ?

_________________

nvs

Nombre de messages : 5238
Age : 44
Prénom : Nicolas
Statut : prof
Localisation : bxl
Date d'inscription : 24/11/2005

http://nvansteenkiste.googlepages.com

Revenir en haut Aller en bas

Re: [C] TD4

Message  mcd le Mar 27 Oct 2009, 23:22

Quels sont les problèmes de mémoire qu'on peut rencontrer ?
1) On utilise une mémoire qui n'a pas été allouée
2) On place dans une mémoire plus de chose qu'elle ne peut contenir
3) On se trompe sur le type de contenu d'un emplacement mémoire
4) On ne libère pas la mémoire après utilisation
(et sans doute d'autres problèmes encore)

Je te conseille de te concentrer sur le 1)
... et je t'enlève 1 pt de réputation pour ton profil grossier.

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [C] TD4

Message  smb le Mar 27 Oct 2009, 23:50

newu a écrit:Merci pour tout aide :

Code:

BMaillon * newBMaillon ( TVal val ) {

   BMaillon * bm ;
   bm->value = val ;
   printf( "%i", bm->value);

En fait l'affichage n'a pas lieu, l'execution du pgm n'a pas lieu, un message de microsoft de ce style :


TD4.exe a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru.

je rappelle que
typedef int TVal ;
typedef struct BMaillon { struct BMaillon * precedent, * suivant ; TVal value ; } BMaillon ;

Il me semble vous avoir dit que vous pouviez vous inspirer d'un document mis dans mon eDistri concernant un exemple de Pile implémentée au moyen d'éléments ("Maillon") simplement chaînés : la réponse s'y trouve !

smb

Nombre de messages : 1035
Age : 64
Prénom : Stéphan
Statut : Don de sang, don de vie!
Localisation : Spy
Date d'inscription : 23/01/2007

Revenir en haut Aller en bas

Re: [C] TD4

Message  XavBod le Mer 28 Oct 2009, 08:56

newu a écrit:Merci pour tout aide :

Code:

BMaillon * newBMaillon ( TVal val ) {

   BMaillon * bm ;
   bm->value = val ;
   printf( "%i", bm->value);

En fait l'affichage n'a pas lieu, l'execution du pgm n'a pas lieu, un message de microsoft de ce style :


TD4.exe a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru.



je rappelle que
typedef int TVal ;
typedef struct BMaillon { struct BMaillon * precedent, * suivant ; TVal value ; } BMaillon ;

je ne sais pas si ca a un rapport mais ne faudrait-il pas initialiser ses 2 pointeurs a null ? (stddef.h requis) ?

XavBod

Nombre de messages : 196
Age : 26
Prénom : Xavier
Statut : Etudiant 3eme indu
Localisation : Woluwe
Date d'inscription : 27/09/2008

Revenir en haut Aller en bas

Re: [C] TD4

Message  smb le Mer 28 Oct 2009, 10:31

XavBod a écrit:

(...)
je ne sais pas si ca a un rapport mais ne faudrait-il pas initialiser ses 2 pointeurs a null ? (stddef.h requis) ?

Il est temps de s'y mettre sérieusement les gars ! Evil or Very Mad

smb

Nombre de messages : 1035
Age : 64
Prénom : Stéphan
Statut : Don de sang, don de vie!
Localisation : Spy
Date d'inscription : 23/01/2007

Revenir en haut Aller en bas

Re: [C] TD4

Message  Trusty le Mer 28 Oct 2009, 10:48

un petit
Code:
bm* = new BMaillon(val)

est un bon plan... histoire d'avoir la mémoire réservée...

Trusty

Nombre de messages : 866
Age : 29
Prénom : Bastien
Statut : old 2010
Localisation : Ath
Date d'inscription : 30/10/2006

Revenir en haut Aller en bas

Re: [C] TD4

Message  nvs le Mer 28 Oct 2009, 10:52

c'est du c, Trusty...

_________________

nvs

Nombre de messages : 5238
Age : 44
Prénom : Nicolas
Statut : prof
Localisation : bxl
Date d'inscription : 24/11/2005

http://nvansteenkiste.googlepages.com

Revenir en haut Aller en bas

Re: [C] TD4

Message  smb le Mer 28 Oct 2009, 11:15

Trusty a écrit:un petit
Code:
bm* = new BMaillon(val)

est un bon plan... histoire d'avoir la mémoire réservée...

Et comme dirait Magritte :
Code:
bm* = new BMaillon(val)

... ceci n'est pas du C++ non plus !
Du "Trusty" en somme !

smb

Nombre de messages : 1035
Age : 64
Prénom : Stéphan
Statut : Don de sang, don de vie!
Localisation : Spy
Date d'inscription : 23/01/2007

Revenir en haut Aller en bas

Re: [C] TD4

Message  justblaze le Mer 28 Oct 2009, 14:01

pour ma part je pense qu'un petit "ma**oc" suffirait (je ne fais qu'appuyer la réponse de mr Codutti) Todo Problem solved

justblaze

Nombre de messages : 159
Age : 30
Prénom : Ismael
Statut : Etd 3R11
Localisation : Wolu. St. Lambert
Date d'inscription : 09/11/2006

Revenir en haut Aller en bas

Re: [C] TD4

Message  newu le Mer 28 Oct 2009, 19:59

Merci à tous d'avoir pris mon problème avec tant d'attention. Problem solved

newu

Nombre de messages : 117
Prénom : Abdou
Statut : 3ème gestion
Localisation : Je dors à l'école.
Date d'inscription : 25/09/2009

Revenir en haut Aller en bas

Re: [C] TD4

Message  Contenu sponsorisé Aujourd'hui à 09:25


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum