problème avec des variables static déclarées globales!
Chalut,
J'ai deux fichiers fichier1 et fichier2.
Dans fichier2, je fais les déclarations suivantes:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
static char * var1 = (char*)malloc(....);
static char * var2 = (char*)malloc(....);
....
....
void fct()
{
....
....
a = var1;
b = var2;
}
.... |
Dans fichier1
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
int main()
{
.....
.....
var1 = "test1";
var2 = "test2";
.....
//appel à fct qui est déclarée dans fichier2
fct(param);
.....
.....
} |
Mais a et b ne prennent pas les valeurs attendues.
Je lance mon prog en mode pas à pas:
Dans le fichier1 juste après les affectations de var1 et var2, ces dernières ont les bonnes valeurs.
Mais après l'appel de fct qui est définie dans le fichier2 là où les vaiables ont été declarées, var1 et var2 n'ont plus ces bonnes valeurs :aie::aie:
quelqu'un a une explication pour ça??
Merci d'avance!