首页 > 编程语言 > 详细

C 语言能不能在头文件定义全局变量?

时间:2018-08-21 13:38:16      阅读:193      评论:0      收藏:0      [点我收藏+]

可以,但一般不会将全局变量的定义写在头文件中。

因为如果多个 C 源文件都添加了头文件,很容易引起重定义的问题。这时候一般编译器都会提示:“multiple definition of... first defined here” 错误。

正确的作法是在 C 源文件中定义一个全局变量,并在对应的头文件中添加该变量的声明。例如:

  //var.c 一个主要用于定义全局变量的c源文件
    int g_a;
    char g_x;
 
  //var.h 用于声明定义的全局变量
    extern int  g_a;
    extern char g_x; 
 
 
  //test.c 一个用于测试的头文件
    #include <var.h>
    void f()
    {
      g_a = 1;
      g_x = ‘x‘;
    }

C 语言能不能在头文件定义全局变量?

原文:https://www.cnblogs.com/dhqy/p/9510802.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!