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

    xiaoxiao2025-09-11  62

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

     --> main.c :

    #include <stdio.h>

    int global = 10;

    int main(void) {

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

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

        return 0; }

    --> a.c : #include <stdio.h>

    extern int global;

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

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

        return ; }

       --> b.c :              

    #include <stdio.h>

    extern int global;

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

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

        return ; }

     --> c.c :                  

    #include <stdio.h>

    extern int global;

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

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

        return ; }  

    最新回复(0)