C语言的宏定义是什么意思啊?

如题所述

简单地说就是,如果你定义了一个#define
a
abc的话,那么程序在编译的时候,你程序里所有单个的a都将被替换为abc。说到底,“宏”就是“置换”。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-07-06
楼上已经有了代码,那简单点说,个人认为宏定义就是用一个自定义的标识符来表示一些东西,注意:#define 后面的是完全替代的,就像是必须完全一样。
第2个回答  2008-07-06
不能更改的定义
#define M 100//宏定义M=100
M=10;//错误,宏定义的数据不能被更改

#define Maxs(a,b)a>b?a:b;//Maxs函数返回两数中大的数
int Maxs(int a,int b){
return(a>b?a:b);
}//错误,Maxs函数已被宏定义本回答被提问者采纳
第3个回答  2020-05-01
宏定义是在预编译阶段直接替换,即用3.5替换pt
,s(x)替换为pt*x*x,只是进行简单的替换,在使用宏定义时一定要注意括号的恰当合理使用,因为在替换过程中有运算结合的先后顺序。程序之所以错是因为#dewfine
s(x)
pt*x*x有问题,应该这么写#define
s(x)
pt*(x)*(x),如不用括号则s(a+b)相当于pt*a+b*a+b=3.5*1+2*1+2=7.5。
第4个回答  2008-07-07
宏定义是预处理的一种,
不带参数的宏定义
用一个指定的标识符(即名字)来代表一个字符串,它
相似回答