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