简单讲解C语言中宏的定义与使用
宏定义是预编译功能的一种, 预编译又称为预处理,是为编译做的预备工作的阶段。处理#开头的指令,比如拷贝 #include 包含的文件代码,#define宏定义的替换,条件编译等。 定义: #define 宏名 内容 #define kArrLen 10 // OC驼峰命名法:首字符为k,其他单词首字符大写 #define ARR_LEN 10 // C语言中的宏命名规范:所有字母大写,单词用下划线分隔 例如: #define PI 3.1415926 我们就可以使用 PI 来代替 3.1415926 即可: float r = 0.5; float area = PI * r * r; printf("area = %fn",area); 在程序预编译阶段会把 PI 替换成 3.1415926: float area = 3.1415926 * r * r; 宏定义内容很简单,也很好理解,但是有几个如下的注意事项: 1、因为宏定义只是简单的替换,如果宏定义的内容有运算的时候,要把每个变量加上括号,以免影响运算的优先级 比如:#define MUL(A,B) (A * B) 使用方法: MUL(3 + 5,5 + 6) //会替换成 3 + 5 * 5 + 6 = 34 我们希望(3 + 5) * (5 + 6),所以定义宏定义的时候应该: #define MUL(A,B) ((A) * (B)) 2、注意宏定义后面没有分号(;),它不是一条语句 3、宏定义是在程序编译前期进行替换,此时程序还没有编译 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |