How do I share a global variable between c files?

前端 未结 7 1099
一生所求
一生所求 2020-12-07 18:28

If i define a global variable in a .c file, how can i use the value of the same variable in another .c file?

file1.c

#incl         


        
相关标签:
7条回答
  • 2020-12-07 19:13

    Use the extern keyword to declare the variable in the other .c file. E.g.:

    extern int counter;
    

    means that the actual storage is located in another file. It can be used for both variables and function prototypes.

    0 讨论(0)
  • 2020-12-07 19:15

    Do same as you did in file1.c In 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*/
    

    If you use int i; in file2.c under main() then i will be treated as local auto variable not the same as defined in file1.c

    0 讨论(0)
  • 2020-12-07 19:23

    Use extern keyword in another .c file.

    0 讨论(0)
  • 2020-12-07 19:25

    file 1:

    int x = 50;
    

    file 2:

    extern int x;
    
    printf("%d", x);
    
    0 讨论(0)
  • 2020-12-07 19:27

    If you want to use global variable i of file1.c in file2.c, then below are the points to remember:

    1. main function shouldn't be there in file2.c
    2. now global variable i can be shared with file2.c by two ways:
      a) by declaring with extern keyword in file2.c i.e extern int i;
      b) by defining the variable i in a header file and including that header file in file2.c.
    0 讨论(0)
  • 2020-12-07 19:29

    using extern <variable type> <variable name> in a header or another C file.

    0 讨论(0)
提交回复
热议问题