insertion dans structure - C - Programmation
Marsh Posté le 25-03-2009 à 16:16:26
Montre le code des fonctions creer_struct() et inserer_structure(). Et la définition de struct objets.
Marsh Posté le 25-03-2009 à 16:36:16
tpierron a écrit : Montre le code des fonctions creer_struct() et inserer_structure(). Et la définition de struct objets. |
Merci pour ta réponse voici le code que tu m'as demandé! lorrsque je fais un test avec inserer_b_arbre_entier(b,5);
insere_b_arbre_entier(b,18)... ca marche bien ca ne viendrait pas de la variable var?
Code :
|
Marsh Posté le 25-03-2009 à 16:46:11
1. Il me semble curieux de mettre les méthodes dans la structure b_arbre. L'arbre va contenir des structures qui pointent hiérarchiquement. Mais il me semble étrange de répeter les méthodes dans chaque noeud de l'arbre.
2. sizeof(getfils(self->racine)) me parait étrange. Il me semble que sizeof() est résolu lors de la compilation et non pas lors de l'exécution. Donc, ici, sizeof renverrait la longueur d'un pointeur vers une fonction (en l'occurence la fonction getfils()). Peut-être qu'il faudrait prendre sizeof(struct b_arbre) mais sans les méthodes.
Marsh Posté le 25-03-2009 à 16:55:22
olivthill a écrit : 1. Il me semble curieux de mettre les méthodes dans la structure b_arbre. L'arbre va contenir des structures qui pointent hiérarchiquement. Mais il me semble étrange de répeter les méthodes dans chaque noeud de l'arbre. |
merci pour ta réponse mais pourrais je avoir des précisions stp?
1/ g pas tès bien compris ce que tu dis
2/pour le sizeof je suis assez d'accord donc je vais le modifier
Marsh Posté le 25-03-2009 à 17:02:49
Désolé, j'ai parlé de méthodes, mais en fait c'est peut-être plutôt des pointeurs vers des fonctions. En tous cas, je ne vois pas bien l'intérêt des lignes 9 et 10 du code, mais il y a peut-être quelque chose qui m'échappe.
Marsh Posté le 25-03-2009 à 17:07:57
olivthill a écrit : Désolé, j'ai parlé de méthodes, mais en fait c'est peut-être plutôt des pointeurs vers des fonctions. En tous cas, je ne vois pas bien l'intérêt des lignes 9 et 10 du code, mais il y a peut-être quelque chose qui m'échappe. |
en fait la taille c'est que je peux vouloir inserer des types differents dans ma structure(entiers,chaines de caractères..) j(ai donc besoin de la taille pour pouvoir fair mes allocation.
pour le pointeur de fonction c'est que la fonction d'affichage ne sera pas la meme pour un int ou un char*
ainsi lorsque je construit une structure je vais appeler creer_b_arbre en precisant le type dobjets a insere la taille et la fonction qui permettra de faire l'affichage
Marsh Posté le 25-03-2009 à 19:41:01
Ouais, je crois qu'il va falloir tout le code qui dépend de inserer_b_arbre(). Parce qu'il y a potentiellement plein d'endroits où ça peut foirer (d'autant qu'avec les buffer/stack overflow en C, l'erreur peut se situer à des années lumières de là où croit qu'elle se trouve).
Marsh Posté le 25-03-2009 à 14:48:37
Bonjour,j'essaie de faire une insertion dans une structure mais ca ne marche pas comme je le souhaite:
[/cpp][/cpp]
le résultat est que ça m'insère toujours le même entier, ainsi dans ma structure je v avoir 5 fois la même valeur. ou alors si i est trop grand j'ai une erreur de segmentation.
quelqu'un aurait une idée svp?