永发信息网

#define定义常量加括号什么意思

答案:5  悬赏:40  手机版
解决时间 2021-03-21 22:43
#define定义常量加括号什么意思
最佳答案
可以对一些常见的变量,字符串等,进行宏定义,系统在编译期间,就会自动替换
如果不进行宏定义,一般如果此类变量,字符串等,需要修改,就需要对源文件中它们出现的地方一一修改,效率比较低,而此种宏定义后,只需要修改一次,实现批量修改,效率较高.而且有些数字或字符很麻烦,每次都要输入,就显得很繁琐,而且容易出错,而采取此宏定义,就很方便和易于维护.
[例子]
#define PI 3.1415926
[注意事项]
(1) 宏定义中的变量,约定俗成用大写,以此与小写的普通变量区分开来.当然如果你故意小写,也是合法的.不过如果你想让你写的程序具有高可读性,那最好遵守此约定.
(2) #define的行尾,没有分号”;”,有些人不注意,会画蛇添足地加上.有些公司招聘时候的笔试,也会考察这个细节.
(3) 如果后面的宏定义中的变量和前面的有内在联系,那么后面的宏定义变量最好用前面的表示
[例子]
#define PI 3.1415926
#define RADIUS 5
而在表达该圆的面积的时候,就可以用下面的表示了:
#define AREA ((PI)*( RADIUS)*( RADIUS))
//此处加括号是为了避免后面提到的一种边界效应
全部回答
上面好象是定义一个10个元素的数组把
下面好象是定义一个MAX
然后把10付给它
#define是宏定义,在使用的时候只是用MAX替换了10
#define TEST1 a+b
#define TEST2 (a+b)
void main(void)
{
int a, b, c, d;
c = TEST1; //相当于 c = a+b;
d = TEST2; //相当于 d = (a+b);
}
这样写是防止 忽略运算符优先级而导致的错误。
防止非正常的展开。
楼上说得对。
楼主我给你举个例子,你就明白了
#define ADD1 a+b
#define ADD2 (a+b)
void main()
{
int a=10;
int b=20;
// 你想计算(10+20)*3
int c, d;
c = ADD1*3;
d = ADD2*3;
}
经过宏替换,就变成了下面的样子:
c = a+b*3;
d = (a+b)*3;
c的结果就是错误的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
金色港湾休闲庄园我想知道这个在什么地方
雷朋偏光镜
把如图所示的纸片折叠成纸盒,可以得到A.B.C.
中医院门前车祸抓到凶手抓到了吗?
水瓶女婚后
ONAN/ONAF是什么意思?
三相熔断式隔离开关单相标的125A ,只用一想
农历1997年7月初十是国历好多号?是什么星座
欧尚布艺(魁星路)我想知道这个在什么地方
桐乡联明超市在哪里啊,我有事要去这个地方
正在拉二胡的一位同学不断用手指去控制琴弦,
在楼房里能受紫外线晒黑吗
想知道:丹东市 从凤城市到通远堡镇怎么坐公交
离婚后小孩迁户口要什么手继
齐民部落有哪些?
推荐资讯
兴文县水务局地址在哪,我要去那里办事
阿吉太组合女歌手叫什么
东业陶瓷店我想知道这个在什么地方
平安车险就是垃圾骗子!!!!
失业金是不是拿一个月少一个月
连接iPhone吗,能使用第三方表盘吗
茨木的台词谐音,描写木化石的样子的句子
新天地超市幸福街店地址有知道的么?有点事想
人生虽然短暂,但是我不甘愿向命运低头什么意
将开发票的金穗盘安装到两台台电脑上吗
6X-1.28*3=0.06
九哥鸭地址有知道的么?有点事想过去
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?