您的位置:首页 > 其它

STM32学习笔记(三)-----变量和数据

2017-01-20 16:44 134 查看
1)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

}

但是我们希望在test.c的 changeId(void)函数中使用变量 id,这个时候我们就需要在 test.c

里面去申明变量 id 是外部定义的了,因为如果不申明,变量 id 的作用域是到不了 test.c 文件

中。看下面 test.c 中的代码:

extern u8 id;//申明变量 id 是在外部定义的,申明可以在很多个文件中进行

void test(void){

id=2;

}

在 test.c 中申明变量 id 在外部定义,然后在 test.c 中就可以使用变量 id 了。对于 extern 申明函数在外部定义的应用,

另外关于嵌入式C编程中变量和常量修饰static、const、volatile、extern、struct、enum的介绍
1、最有原则的关键字--static


static主要有两大功能:一是修饰全局变量,作用域为文件中,即从定义之处开始到文件结尾处结束;另一种是局部变量,作用域为函数体内

(1)修饰变量

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: