Bonjour,
Je me trouve confrontée à un problème lié à l'utilisation de pointeurs.
En effet, en exécutant la fonction [ci-dessous], à l'aide de tests, un message d'erreur apparaît : "core dumped".
Manipulant les tableaux, j'ai de suite pensé à la notion d'indice et donc l'accès à un espace mémoire non alloué.
Cependant, après différentes tentatives, je reste bloquée, sans trouver la cause de ce "core dumped".
Le but de la fonction est de convertir une chaine en naturel (ou plutôt en "grand naturel" puisqu'il s'agit d'utiliser des grands nombres).
Je posède la structure suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 typedef struct GN_GrandNaturel { unsigned int nbChiffres; LCDC_ListeChainee chiffres; } GN_GrandNaturel;
Et voici la fonction que j'ai codé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 GN_GrandNaturel GN_chaineEnGrandNaturel(char* ch) { GN_GrandNaturel res; int i; assert((strlen(ch)>0) && (GN_composeUniquementDeChiffres(ch))); res.chiffres = LCDC_listeChainee(); res.nbChiffres=0; for (i=0; i<strlen(ch); i++){ if ((ch[i] != '0') || (res.nbChiffres != 0) || ((ch[i]='0') && (res.nbChiffres=0) && (i=strlen(ch)))){ res.nbChiffres=res.nbChiffres+1; LCDC_ajouter(&(res.chiffres),ch[i]); } } return res; }
Serait-il possible de me donner des pistes de réflexions quant-à cette erreur ?
Merci d'avance pour vos réponses,
Alexia.
Partager