variable en C

J

JaME

Guest
J'ai variable appelée "Timer1" dans le fichier "main.c".
Le problème est, est-il un moyen d'accéder à ces variables dans un autre fichier, par exemple, dans le fichier "init.c"?

 
Êtes-main.c et init.c compilé dans un exécutable?
Si main () appelle init (), l'appel pourrait passer un pointeur à Timer1.

Code:

# Include <stdio.h>void init (valeur int *)

(

printf ("Valeur =% d \ n", * valeur);

* Valeur *= 2;

printf ("Valeur =% d \ n", * valeur);

)int main (void)

(

int Timer1 123 =;

printf ("Timer1 =% d \ n", Timer1);

init (& Timer1);

printf ("Timer1 =% d \ n", Timer1);

return 0;

)
 
Salut

dans le fichier de mise init.c
type de données externe Timer1;
ce n'est si la variable Timer1 est variable globale dans le fichier main.c

Pour plus d'informations, consultez le mot-clé extern.
http://www.phim.unibe.ch/comp_doc/c_manual/C/SYNTAX/storage_class.html # externSalam
Hossam Alzomor
www (.) ig (.) org

 
vous ne pouvez pas y accéder, sauf si vous définissez la variable hors fonction principale.
JaME a écrit:

J'ai variable appelée "Timer1" dans le fichier "main.c".

Le problème est, est-il un moyen d'accéder à ces variables dans un autre fichier, par exemple, dans le fichier "init.c"?
 
dans "init.c"

extern int Timer1;

init (void)
(
Timer1 = 0;
)

//----------------------------------------
dans "main.c"

int Timer1;

init extern void (void);

int main (void)
(
init ();

/ / Autres codes

return 0;
)

 
U faut la déclaration extern.C'est ainsi que le prototype de fonction au compilateur / likerhow de mettre en place l'appel, ce qu'il faut en revenir, ce que les espaces de stockage nécessaires sont aussi.extern indique au compilateur qu'il trouvera la fonction (ou une variable) dans un autre fichier.

 
Une façon d'y parvenir est de créer un main.h, decalre cette variable comme extern, puis inclure la main.h dans le fichier init.c.Cela est nécessaire si le compilateur applique strictement les MST ANSI.Sinon, assurez-vous que le lien u les fichiers après la compilation, utilisez le mot-clé extern directement dans votre fichier init.c.

 

Welcome to EDABoard.com

Sponsor

Back
Top