- /*
- * 不带参数的宏定义
- * Lzy 2011-5-28
- */
- #define PI 3.14 /*定义宏PI*/
- void func()
- {
- ...
- }
- #undef PI /*终止PI的作用域*/
- int main(void)
- {
- ...
- }
- /*
- * 带参数的宏定义
- * Lzy 2011-5-28
- */
- #include <stdio.h>
- #define MAX(a,b) (a>b)?a:b /* 定义带参数的宏 */
- int main()
- {
- int x,y,max; /* 定义3个整型变量 */
- printf("Please input two integers: ");
- scanf("%d%d",&x,&y); /* 从键盘读入两个整数 */
- max=MAX(x,y); /* 用实际参数x和y替换上面的形式参数a和b */
- /* 展开后的形式为:max=(x>y)?x:y; */
- printf("Max = %d\n",max); /* 输出最大值 */
- return 0;
- }
条件编译
#if ~ #endif
1.一般格式
#if 常量表达式
程序段1;
[#else
程序段2;]
#endif
2.功能:当表达式为非0(“逻辑真”)时,编译程序段1,否则编译程序段2。
#ifdef ~ #endif
1.一般格式
#ifdef 标识符
程序段1;
[#else
程序段2;]
#endif
2.功能:当“标识符”已经被 #define命令定义过,则编译程序段1,否则编译程序段2。
#ifndef ~ #endif
格式与#ifdef ~ #endif命令一样,功能正好与之相反。
文件包含允许嵌套,这种情况下一个头文件有可能会被多次包含在一个源文件中。为了避免这种现象,可以使用如下形式
#ifndef HEAD_H
#define HEAD_H
...
#endif
阅读(176) | 评论(0) | 转发(0) |