从头文件中显式调用变量

时间:2014-03-27 10:22:37

标签: c++ c arduino

我有一个c文件和一个头文件。我想使用C语言使用变量表达式。如何在下面的案例中使用extern关键字:

glob.h

#ifndef GLOB_H
#define GLOB_H
static int a=10;
#endif

主程序

#include"glob.h"

int c = 20;

void loop()
{
  if(c>a)
  {
    Serial.printf("welcome");
  }
}

2 个答案:

答案 0 :(得分:0)

只需将extern声明添加到主程序

即可
#include"glob.h"

int c = 20;
extern int a;

void loop()
{
  if(c>a)
  {
    Serial.printf("welcome");
  }
}

答案 1 :(得分:0)

extern用于告诉编译器不重新定义变量,因为它存在于另一个编译对象文件中,并且不在当前目标文件中重新定义它,而是引用另一个目标文件中的现有变量。在上面的代码中,您不会在主程序中重新定义a变量,因此只要我们谈论相同的编译对象文件,您就不需要它。