bonjour,j'aimerais diviser mon programme en 3 fichiers , seulement le compilo m'indique que j'ai redefinie une variable alors que c'est pas le cas.
le main
le .h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #include <stdio.h> #include"binaire_complet.h" int main(){ prefixeC(0,0); return 0; }
le .c
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
18 #ifndef BINAIRE_COMPLET_H_INCLUDED #define BINAIRE_COMPLET_H_INCLUDED #define NILE -1 /** tableau statique representant un tableau binaire complet**/ const char *arbre_complet[]={"alban","berthe","camille","david","eugenie","fernand","ginette"}; /** taille du tableau **/ int taille_arbre_complet = 7; int gauche(int i); int droite(int i); void prefixeC(int racine,int niveau); #endif
-si je met les variables gloables arbre_complet et taille_arbre_complet dans le .c sa marche alors que moi j'aimerais les definir dans le .h .
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
18
19
20 #include<stdio.h> #include"binaire_complet.h" int gauche(int i){ return (2*i+1)<taille_arbre_complet? 2*i+1 : NILE; } int droite(int i){ return (2*i+2)<taille_arbre_complet ? 2*i+2 : NILE; } void prefixeC(int racine,int niveau){ int i=0; if( racine != NILE ){ for(i=0;i<niveau;i++) printf(" "); printf("%s\n",arbre_complet[racine]); prefixeC( gauche(racine) , niveau+1); prefixeC( droite(racine) , niveau+1); } }
-si je les met en static sa marche aussi et je ne sais pas pourquoi .
-ces noms de variables sont uniques dans mon projets .
est ce que quelqu'un pourrais m'aider svp ?
Partager