c语言 中 一个函数能调用另一个函数中的#define变量吗

rt对了 如果是在另一个.c 文件里 定义的#define 在另一个.C里能用吗?
2025-03-12 14:37:38
推荐回答(5个)
回答1:

正像上面的那个朋友所说的,#define是宏定义,但是说是“最先编译”的有点不准确,因为编译的话是将代码转换成机械码的过程。而宏是在编译之前由编译器先替换成要替换的字符或字符串的,我感觉用“翻译”会更准确。
明白了上面这段,下面你问的也就好解决了!
int add(int a, int b){
#define PI 3.14
……
}

int reduce(int a, int b){
int m = PI;
……
}
#undef PI

……

在#define和#undef之间的PI在编译前都会被替换成3.14,所以是有效的。到这里的话其它的你也就应该都明白了!但是就像上面的朋友说的一样,不提倡这么用!

回答2:

#define 是宏定义,是最先编译的,我们使用宏定义一般不在函数内定义,因为这样做意义不大而且容易造成你提问的理解问题,为了避免不好了解,建议在函数外定义,这样每个函数都可以使用,才显示出它的意义。

回答3:

不可以的,要用全局变量

回答4:

可以 但是一开始就把它定义好

回答5:

定义成全局变量就可以!