这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 【炫Q-STM32】深入(二)定时器

共13条 2/2 1 2 跳转至
专家
2015-07-07 11:19:06     打赏
11楼

初学C语言又遇到一个修饰词extern,继续百度,粗看大意如下

http://baike.baidu.com/link?url=euh4nexcjgGk46jptFsN3FMf8-Qg0wIMiIPm-_H8XyPm2cv4yque4Od40NqwHJqyLnNDCqa8wdjpNC3TwkeKJK


extern用在变量声明中常常有这样一个作用:你要在*.c文件中引用另一个文件中的一个全局的变量,那就应该放在*.h中用extern来声明这个全局变量。

这个关键字真的比较可恶,在定义(函数)的时候,这个extern居然可以被省略,所以会让你搞不清楚到底是声明还是定义,下面分变量和函数两类来说: 尤其是对于变量来说。

extern int a;//声明一个全局变量a

int a; //定义一个全局变量a

extern int a =0 ;//定义一个全局变量a 并给初值。一旦给予赋值,一定是定义,定义才会分配存储空间。

int a =0;//定义一个全局变量a,并给初值, 声明之后你不能直接使用这个变量,需要定义之后才能使用。

第四个等于第三个,都是定义一个可以被外部使用的全局变量,并给初值。 糊涂了吧,他们看上去可真像。但是定义只能出现在一处。也就是说,不管是int a;还是int a=0;都只能出现一次,而那个extern int a可以出现很多次。 当你要引用一个全局变量的时候,你就要声明extern int a;这时候extern不能省略,因为省略了,就变成int a;这是一个定义,不是声明。


专家
2015-07-07 11:39:47     打赏
12楼

看了两篇关于定时器和中断的文章,感觉又学到了一些东西

http://blog.163.com/somen111@126/blog/static/1155866842012038324405/

http://blog.sina.com.cn/s/blog_6a3f6e6101016y6v.html

文章写得不错,有了理论基础,下一步就是实际操作了


专家
2015-10-21 19:35:48     打赏
13楼
回过头来再看看STM32,基本上以前的也忘得差不多了

共13条 2/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]