Подтвердить что ты не робот

Как поделиться глобальной переменной между c файлами?

Если я определяю глобальную переменную в файле .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 из первого файла здесь.

4b9b3361

Ответ 1

файл 1:

int x = 50;

файл 2:

extern int x;

printf("%d", x);

Ответ 2

используя extern <variable type> <variable name> в заголовке или другом файле C.

Ответ 3

Используйте ключевое слово extern, чтобы объявить переменную в другом файле .c. Например:.

extern int counter;

означает, что фактическое хранилище находится в другом файле. Он может использоваться как для переменных, так и для прототипов функций.

Ответ 4

Во втором файле .c используйте ключевое слово extern с тем же именем переменной.

Ответ 5

Сделайте то же, что и в файле 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

Ответ 6

Используйте ключевое слово extern в другом .c файле.

Ответ 7

Если вы хотите использовать глобальную переменную я файла file1.c в файле2.c, то ниже указаны точки, которые нужно запомнить:

  • Основная функция не должна быть в файле2.c
  • теперь глобальная переменная я может использоваться совместно с file2.c двумя способами:
    a) путем объявления с ключевым словом extern в файле2.c i.e extern int i; b) путем определения переменной я в файле заголовка и включая этот файл заголовка в файле2.c.