Réponse acceptée !
Une variable locale (déclarée dans une fonction) est par définition hors de portée (inaccessible) pour les autres fonctions. Si tu souhaites lire ta variable azerty:
- soit test() retourne cette variable et alors elle peut etre lue par la fonction appelant test().
Exemple si azerty est un int:
int test( void )
{
int Azerty;
Azerty = 4;
return azerty;
};
int main( void )
{
int valeur_lue;
valeur_lue = test();
};
- soit tu crées une variable globale, c'est à dire déclarée en dehors de toute fonction et donc à portée (accessible) de toute les fonctions. Cependant cette méthode n'est en général pas tres conseillée car dangereuse, on controle assez mal la valeur de azerty.
Exemple:
int Azerty;
void test( void )
{
Azerty = 4;
};
int main( void )
{
int valeur_lue;
test();
valeur_lue = azerty;
}
- soit tu passes ta variable en parametre de test(). Tu dois alors manipuler les pointeurs car sinon tu modifie une copie de azerty et pas azerty elle-meme.
Exemple:
void test( int * azerty )
{
*azerty = 4;
};
int main( void )
{
int valeur_lue;
test( & valeur_lue );
};
- si tu travailles en C++ tu peux utiliser les références au lieu des pointeurs, c'est souvent plus pratique.
Exemple:
void test( int & azerty )
{
azerty = 4;
};
int main( void )
{
int valeur_lue;
test( valeur_lue );
};