OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2776|回复: 0

函数作用域的学习GPIO_InitStructure

[复制链接]

12

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
262
金钱
262
注册时间
2019-5-27
在线时间
74 小时
发表于 2019-7-19 10:07:15 | 显示全部楼层 |阅读模式
本帖最后由 亢zhihao 于 2019-7-19 10:07 编辑

      今天再学习蜂鸣器的过程中,遇到了一个问题,在蜂鸣器的这个HARDWARE文件中有两个.c源文件。
分别是led.c和beep.c在这两个源文件的初始化中,都用到了 GPIO_InitTypeDef  GPIO_InitStructure;
有两个相同的GPIO_InitStructure结构体变量。
       然后翻开自己非常厚的C语言书,对变量的作用域又进行了学习。也加深了我对C语言的理解,结合
这个例子,写写我的想法。如有不对的地方,请多多指教。
       这两个变量分别在自己的初始化函数中定义的,所以属于局部变量,作用域为这个函数的{}内,只
能在相应的函数内部使用,也就是说在led.c中初始化函数内部的
GPIO_InitStructure变量只能在该源文件

初始化的函数中使用;
beep.c中的
GPIO_InitStructure同理。

       所以这两个相同名字的变量是不冲突的。

总结:
     在同一个作用域中不能出现两个名字相同的变量,否则会产生命名冲突;

      但是在不同的作用域中,允许出现名字相同的变量,它们的作用范围不同,彼此之间不会产生冲突。




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-15 10:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表