宏定义#define和常量const讨论帖

2020-02-05 08:54发布

各位大虾,不知你们在写程序时有没有遇到过这种情况:你在A.C文件中定义了一个宏#define VALUE 20 然后你在B.C中恰好需要用到这个宏。此时你们一般都怎么处理的?如果将#define VALUE 20 这个宏写在A.H 可是可以调用 但编程规范又不建议在头文件中定义宏!另一种做法是将可能会被别的模块调用的宏定义为常量方式 如:const unsigned char VALUE = 20;然后在A.H中声明,那么B模块只需包含A.H头文件就可以调用了,但是这样又会占用一个CHAR 内存的RAM。。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
cumtgao
1楼-- · 2020-02-05 13:04
 精彩回答 2  元偷偷看……
security
2楼-- · 2020-02-05 18:41
#define 编程规范又不建议在头文件中定义宏!??
我觉得既然是公有的定义需求,就应该定义在公共头文件中,需要的文件,引用即可。
huayuliang
3楼-- · 2020-02-05 21:33
“编程规范又不建议在头文件中定义宏” 有这个说法?
yaxi1984
4楼-- · 2020-02-06 00:55
哪个编程规范不建议在头文件中定义宏???
cumtgao
5楼-- · 2020-02-06 04:53
回复【2楼】security
-----------------------------------------------------------------------

一般好的编程习惯是不建议将#defien放在.h文件中的,万一没作防重复包含处理 很容易出现同一个宏被多次定义的情况。
nazily215
6楼-- · 2020-02-06 09:46
 精彩回答 2  元偷偷看……

一周热门 更多>