TP de C sur des listes à double chainage - C - Programmation
Marsh Posté le 17-03-2008 à 22:57:23
D'une manière générale : debugger => point d'arrêt puis vérification des valeurs au moment du crash
Marsh Posté le 18-03-2008 à 01:36:23
merci à tous les deux !
j'ai rajouté l'allocation, je testerais demain (faut que je trouve un meilleur debugger que le xemacs de la fac)
Marsh Posté le 18-03-2008 à 08:07:33
bah gdb en ligne de commande ca suffit largement, xemacs aussi
Marsh Posté le 18-03-2008 à 08:45:59
rajoutons qu'il existe des surcouche graphique à gdb pour tenter de le rendre user friendly comme code::blocks
Marsh Posté le 18-03-2008 à 22:22:35
_darkalt3_ a écrit : rajoutons qu'il existe des surcouche graphique à gdb pour tenter de le rendre user friendly comme code::blocks |
ddd et eclipse aussi.
Marsh Posté le 17-03-2008 à 22:26:12
Bonjour,
je bosse sur mon premier tp de c en ce moment et je galere sur un truc ... (avant je faisais du java !)
/*
* SYNOPSYS :
* elem_t* create_element(char *a_name)
* DESCRIPTION :
* crée un nouvel maillon de liste, dont les champs next et prev ont été initialisés à NULL, et
* dont le champ name contient une copie de la chaîne a_name passée en paramètre. La fonction
* doit s’assurer la taille de la chaîne a_name est compatible avec celle du champ name de la
* structure elem_t (on pourra utiliser la fonction strlen()).
* PARAMETRES :
* a_name : pointeur sur une chaîne de caractère terminée par '\0'
* RESULTAT :
* NULL en cas d'échec, sinon un pointeur sur une structure de type list
*/
list_elem_t* create_element(char *a_name) {
list_elem_t *e;
if((strlen(a_name)+1)>60) return NULL;
e->name=(char*)malloc((strlen(a_name)+1)*sizeof(char));
strcpy(e->name,a_name);
e->next=NULL;
e->prev=NULL;
return e;
}
j'ai le droit à un magnifique segmentation fault sur la ligne rouge lors du deboggage ... alors si quelqu'un a une idee ?
merci d'avance