Si je définis une variable globale dans un fichier .c
, comment puis-je utiliser la valeur de la même variable dans un autre fichier .c
?
fichier1.c
#include<stdio.h>
int i=10;
int main()
{
printf("%d",i);
return 0;
}
fichier2.c
#include<stdio.h>
int main()
{
//some data regarding i
printf("%d",i);
return 0;
}
Comment le second fichier peut-il utiliser la valeur i
du premier fichier ici.
fichier 1:
int x = 50;
fichier 2:
extern int x;
printf("%d", x);
Utilisez le mot clé extern
pour déclarer la variable dans l'autre fichier .c
. Par exemple.:
extern int counter;
signifie que le stockage réel est situé dans un autre fichier. Il peut être utilisé à la fois pour les variables et les prototypes de fonctions.
en utilisant extern <variable type> <variable name>
dans un en-tête ou un autre fichier C.
Dans le deuxième fichier .c
, utilisez le mot clé extern
avec le même nom de variable.
Faites comme dans file1.cIn file2.c:
#include <stdio.h>
extern int i; /*This declare that i is an int variable which is defined in some other file*/
int main(void)
{
/* your code*/
Si vous utilisez int i; dans file2.c sous main (), je serai traité comme une variable automatique locale différente de celle définie dans fichier1.c
Si vous souhaitez utiliser la variable globale i de fichier1.c dans fichier2.c, voici les points à retenir:
Utilisez le mot clé extern dans un autre fichier .c.