5. 取消宏定义
在 C 语言中,使用 #define 宏定义指令定义的宏可以使用 #undef 指令取消宏定义。
语法:
#undef 宏名
说明:
- 如果宏名已经定义过,则取消此宏的定义。
- 如果 宏名没有定义过,则
#undef无效。
示例:
// filename: undef.c
#include <stdio.h>
#define PI 3.14
int main(int argc, char * argv[]) {
printf("圆周率:%f\n", PI);
#undef PI // 取消 PI 的宏定义
#define PI 3.1415926 // 重新定义宏 PI
printf("圆周率:%f\n", PI);
return 0;
}
运行结果如下:
weimingze@mzstudio:~$ gcc -o undef undef.c
weimingze@mzstudio:~$ ./undef
圆周率:3.140000
圆周率:3.141593
可见重新定义后 PI 的值的精度增高了。