Ответ 1
файл 1:
int x = 50;
файл 2:
extern int x;
printf("%d", x);
Если я определяю глобальную переменную в файле .c
, как я могу использовать значение той же переменной в другом файле .c
?
file1.c
#include<stdio.h>
int i=10;
int main()
{
printf("%d",i);
return 0;
}
file2.c
#include<stdio.h>
int main()
{
//some data regarding i
printf("%d",i);
return 0;
}
Как второй файл может использовать значение i
из первого файла здесь.
файл 1:
int x = 50;
файл 2:
extern int x;
printf("%d", x);
используя extern <variable type> <variable name>
в заголовке или другом файле C.
Используйте ключевое слово extern
, чтобы объявить переменную в другом файле .c
. Например:.
extern int counter;
означает, что фактическое хранилище находится в другом файле. Он может использоваться как для переменных, так и для прототипов функций.
Во втором файле .c
используйте ключевое слово extern
с тем же именем переменной.
Сделайте то же, что и в файле file1.c В файле2.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*/
Если вы используете int i; в файле2.c в разделе main(), тогда я буду рассматриваться как локальная автоматическая переменная, не такая, как определено в файле file1.c
Используйте ключевое слово extern в другом .c файле.
Если вы хотите использовать глобальную переменную я файла file1.c в файле2.c, то ниже указаны точки, которые нужно запомнить: