MDK下 C语言基础复习————extern变量申明
/*********************************************************/
C语言中 extern 可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。这里面要注意,对于extern申明变量可以多次,但定义只有一次。在我们的代码中你会看到看到这样的语句:
extern u16 USART_RX_STA;
这个语句是申明USART_RX_STA变量在其他文件中已经定义了,在这里要使用到。所以,你肯定可以找到在某个地方有变量定义的语句:
u16 USART_RX_STA;
的出现。下面通过一个例子说明一下使用方法。
在Main.c定义的全局变量id,id的初始化都是在Main.c里面进行的。
Main.c 文件
u8 id;//定义只允许一次
main()
{
id=1;
printf("d%",id);//id=1
test();
printf("d%",id);//id=2
}
但是我们希望在main.c的 changeId(void)函数中使用变量id,这个时候我们就需要在main.c里面去申明变量id是外部定义的了,因为如果不申明,变量id的作用域是到不了 main.c文件中。看下面main.c中的代码:
extern u8 id;//申明变量 id是在外部定义的,申明可以在很多个文件中进行
void test(void){
id=2;
}
在main.c中申明变量id在外部定义,然后在main.c中就可以使用变量id了。
对于 extern申明函数在外部定义的应用,这里我们就不多讲解了。
/*********************************************************/
【立创商城】STM32F103CBT6 托盘 https://item.szlcsc.com/8796.html |