宏 #define(宏名宏体)
①定义常量与命令(避免幻数)
#define MAX 100#define SIZE 1024 #define LOGIN_SUCCESS 1 #define LOGIN_FAIL 0注意:在宏定义的命名时,尽量能够清晰的表明其用途;
宏展开只做简单的字符替换,不做运算;
②定义宏函数
#define MAX(a, b) ((a)>(b)?(a):(b))k = MAX(i&0x0f, j&0x0f)k = ((i&0x0f)>(j&0x0f)?(i&0x0f):(j&0x0f))
注意:宏体与形参要拿()括起来
调用方式:(1)参数调用(2)表达式调用(3)语句调用
一般代码量不大,无复杂结构或频率高且简单的程序中定义宏函数。
缺点:不做语法检查;
优点:显著提高代码的执行效率,毕竟省去了分配和释放栈帧、传参、传返回值等一系列工作;
③条件编译:
例:#define _DEBUG_
#ifndef _DEBUG_
#define debug msg(fmt,args,……)
#else
#define debug msg(fmt,arg,……) PRintf(fmt,arg,……)
#endif
预处理命令:①宏定义 ②条件编译 ③文件包含
新闻热点
疑难解答