时间:2022-05-16 08:45:52 | 栏目:C代码 | 点击:次
宏只做简单的文本替换,但一般在作为变量名出现或者在字符串中出现中是不会被替换的。
(1)便于代码的可维护性,对宏的内容进行修改,即可修改代码中所有用到此宏地方的内容。
(2)方便阅读,见名知意。
格式:
#define 标识符 内容
#include <stdio.h> #define M 1 int main() { int x = M; printf("M=%d\n", M); printf("M=%d\n", x); return 0; }
宏函数不是函数,和函数没有任何关系,在替换时也是进行简单的文本替换,不做任何运算。
在写宏时要把()带全,否则容易出现意想不到的结果。
#include <stdio.h> #define DOUBLE(x) x*x int main() { printf("%d\n", DOUBLE(10+1));//其实是:10+ 1*10 +1=21 return 0; }
带全():
#include <stdio.h> #define DOUBLE(x) (x)*(x) int main() { printf("%d\n", DOUBLE(10+1)); return 0; }