之前看过很多的关于extern声明的介绍,不过都没有很彻底理解到底extern是个什么东西,今天,在写程序的时候,出现了extern声明错误,突然明白这个extern声明到底是个什么意思了,在这里与大家分享。
我们在网上搜索关于extern声明,上面会解释:extern只是一个声明,真正使用它需要进行定义。这就像我们在.h文件中定义一个void led(void)函数一样,在.h文件中我们只是定义,真正的函数内容我们是在.c文件中写的,extern声明也是一样,我们在.h文件中声明一个 extern int i;在相应.c文件中写 int i;这样这个变量 i 就能被其他函数调用了。
具体的调用过程呢就是,当我们在main用到上述定义的变量时,它就找啊找,突然,在一个.h文件中发现了变量 i,那么它就去对应的.c文件中找这个i 的定义,一找,发现,诶,有个int i,哇塞找到这个i的定义了,就可以用了。
不知道大家这样好不好理解,,,,,,,,,,,,,,