黑马程序员技术交流社区
标题:
关于【宏定义】的问题,求大神。
[打印本页]
作者:
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