Programme c

ssana83 Messages postés 5 Date d'inscription lundi 22 mars 2010 Statut Membre Dernière intervention 8 mai 2010 - 8 mai 2010 à 00:22
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 - 8 mai 2010 à 11:27
bonsoir,
j'ai réalisé un programme en c où j'ai créé un tableau t_noeuds dont ses éléments sont des pointeurs sur les noeuds d'un arbre.
Lors de la déclaration, j'ai déclaré le tableau comme suit: NOEUD*t_noeuds[100]
j'ai alloué de la mémoire pour le tableau et je l'ai initialisé.
j'ai ensuite fait de sorte que le premier élément du tableau pointe sur le racine de l'arbre.
Ensuite j'ai fait un appel à la fonction creer_arbre(t_noeuds). Le problème c'est que le tableau t_noeuds est passé dans la fonction creer_arbre comme s'il contient un seul élément qui est le pointeur sur la racine or j'ai alloué de l'espace mémoire pour 100 éléments.
Prière de m'aider à résoudre ce problème.
Merci.

1 réponse

TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
8 mai 2010 à 11:27
Salut,

'ai créé un tableau t_noeuds

En général on utiliser le préfixe t_ (ou suffixe _t) pour indiquer un nouveau type défini avec typedef, pas un nom de variable. Fais attention, ça risque de rendre ton code moins bien lisible par les autres (risque de confusions/hésitations).

NOEUD*t_noeuds[100]
j'ai alloué de la mémoire pour le tableau et je l'ai initialisé.

Si tu as précisé sa taille (ici 100) i ln'y a pas besoin de lui allouer de la mémoire vu que c'est déjà fait.

Le reste de tes explications est un peu confus, mais globalement je pense qu'une liste chaînée serait plus efficace qu'un tableau.
0
Rejoignez-nous