野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 252|回复: 0

全局变量的定义与引用

[复制链接]
发表于 2023-12-4 22:31:28 | 显示全部楼层 |阅读模式
我们的文件里会定义很多全局变量,而且经常还会在其他C文件用到,但是我看火哥文件里全局变量定义和引用时比较乱,而且自己敲代码说不定哪里就会看漏,忘了引用,然后就报错,就比如我之前帖子就提问了这方面相关问题;所以通过三个项目的学习和总结,我总结了对全局变量的定义和引用的一点个人心得。

先说结论:全局变量的定义放在这个变量相关的C文件里,全局变量的引用放在相关H文件里,且放在宏定义后,函数声明前。如图1所示
这样只要你在需要引用这个全局变量的文件里包含这个头文件,就可以直接使用这个全局变量了;(基本上如果你要引用这个全局变量,一定会包含和它功能相关的头文件,属于是一举两得了)
还提高了功能的模块化,让main.c文件看起来更加简洁。
再说一下为什么头文件引用要放在宏定义后,函数声明前;因为有些全局变量里会带宏定义,比如图1中的 BUFFER_SIZE_16 宏定义,全局变量数组 uint32_t aSRC_Const_Buffer[BUFFER_SIZE_16] 就使用了这个宏定义,因此全局变量放在宏定义后,就可以保证带宏定义的全局变量不报错!
1.png
回复

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-4-28 20:37 , Processed in 0.136276 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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