原标题:C语言宏定义的使用,都会了吗?
1 概述
在工程规模较小,不是很复杂,与硬件结合紧密,要求移植性的时候,可采用宏定义简化编程,增强程序可读性。
当宏作为常量使用时,C程序员习惯在名字中只使用大写字母。但是并没有如何将用于其他目的的宏大写的统一做法。由于宏(特别是带参数的宏)可能是程序中错误的来源,所以一些程序员更喜欢使用大写字母来引起注意。
简单宏定义
无参宏的宏名后不带参数,其定义的一般形式为:
#define 标识符 字符串
// 不带参数的宏定义
#define MAX 10
注意:不要在宏定义中放置任何额外的符号,比如"="或者尾部加";"
使用#define来为常量命名一些优点:
程序会更易读。一个认真选择的名字可以帮助读者理解常量的意义;
程序会更易于修改。我们仅需要改变一个宏定义,就可以改变整个程序中出现的所有该常量的值;
可以帮助避免前后不一致或键盘输入错误;
控制条件编译;
可以对C语法做小的修改;
带参数的宏
带参数的仍要遵循上述规则,区别只是宏名后面紧跟的圆括号中放置了参数,就像真正的函数那样。
#define ()
注意参数列表中的参数必须是有效的c标识符,同时以,分隔
算符优先级问题:
#define COUNT(M) M*M
int x=5;
print(COUNT(x+1));</