C 语言多文件共享全局变量


    在多个C文件中全局共享变量的方法:
        在其中一个文件中,定义一个全局变量,在其他几个C文件中申明一个相同的extern的全局变量。只有初次定义的C 文件中的全局变量才会被分配空间,其余文件中被extern修饰的全局变量,只是申明该变量来自外部,编译器不会分配空间。
        在一个头文件中定义一个变量,在各个C文件中包含引用,并不能全局共享该变量,会有重复定义的编译错误。
        
        eg :
            (1) 结果展示 
                C 语言多文件共享全局变量_第1张图片
            (2)源码


 --> main.c :

#include

int global = 10;

int main(void)
{

    printf("%s global : %d\n", __func__, global);

    c_main();
    b_main();
    a_main();

    return 0;
}

--> a.c :
#include

extern int global;

extern void  a_main(void)
{
    //global = 20;


    printf("%s global : %d\n", __func__, global);

    return ;
}

   --> b.c :              

#include

extern int global;


extern int b_main(void)
{
    //global = 30;

    printf("%s global : %d\n", __func__, global);

    return ;
}

 --> c.c :
                 

#include

extern int global;

extern int c_main(void)
{
    //global = 40;

    printf("%s global : %d\n", __func__, global);

    return ;
}
 

你可能感兴趣的:(C语言)