黑马程序员技术交流社区

标题: 关于【宏定义】的问题,求大神。 [打印本页]

作者: dio925_heima    时间: 2015-3-15 10:32
标题: 关于【宏定义】的问题,求大神。
宏定义#define   属于预处理指令  它的作用范围是从它出现的位置到文件尾。
我现在写一个程序,分成了多个文件,而多个文件都需要一个初始常量来进行计算。
我选择用宏定义,比如 #define number 5  //意思是编译之前把文件中的number都替换成5
但是如果这个常量需要更改的话,每个文件中的#define nember 5都要改。有什么办法可以向全局变量那样,在一个文件中定义并赋值,其他文件只做变量的声明呢?

比如:
main.c 文件中
int  a = 5;
test.c 文件中
exturn int a;
作者: fantacyleo    时间: 2015-3-15 10:33
把宏定义放在一个文件中,在其他文件中include即可
作者: dio925_heima    时间: 2015-3-15 10:47
有道理哇。看来我对于大型项目文件结构还需要学习啊。
作者: still过客    时间: 2015-3-15 13:22
fantacyleo 发表于 2015-3-15 10:33
把宏定义放在一个文件中,在其他文件中include即可

这个方法可以,不过要注意多次声明的函数问题
作者: 13hoop    时间: 2015-3-15 14:54
我觉得可以结合多个宏
在这个文件中定义
而在另一个文件中判断#iddef
再在里面覆盖原来的宏
作者: JiangHG    时间: 2015-3-15 15:01
在一个公共的头文件中去宏定义 例如 #define MAX_NUM 15  而在其他的源文件中都要包含这个头文件即可。
作者: hellooc    时间: 2015-3-15 22:23
宏定义一般都大写,和变量一般不会冲突的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2