petit probleme en programmation modulaire .
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 8O .
le main
Code:
1 2 3 4 5 6 7 8 9
| #include <stdio.h>
#include"binaire_complet.h"
int main(){
prefixeC(0,0);
return 0;
} |
le .h
Code:
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 |
le .c
Code:
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 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 .
-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 ?