C语言#ifdef #elif #else #endif宏结构控制
宏结构控制
C语言中宏的定义与否,也就是宏的结构,也可以使用类似if条件判断的语句来实现,其相对完整的一个结构可以包括:#ifdef、#elif、#else和#endif等预处理,其中,#ifdef用于开启一个宏的控制结构,#endif则用于结束,其中#elif和#else如同C语言中的条件判断一样,是可选的。#ifdef开启的宏控制结构的主要作用在于根据是否已定义了某个宏来决定是否编译某段代码。其语法如下:
#ifdef 宏名称1
#ifdef_code_block;
#elif defined(宏名称2)
#elif_code_block;
#else
#else_code_block;
#endif
宏结构控制语法解析
- 如果宏名称1存在,即已定义,则编译#ifdef_code_block的代码;
- 如果宏名称1不存在,则执行#elif,并通过defined()函数判断宏名称2是否已经定义,如果已定义,则执行#elif_code_block;
- 如果条件判断的返回值都不为真,则编译#else后面的代码;
#ifdef宏结构控制实例代码
#include <stdio.h>
#ifdef ABC
#deine ABC 1
#elif defined(XYZ)
#define CDE 2
#else
#define XYZ 666
#endif
int main() {
printf("%d\n",XYZ);
return 0;
}
免责声明:内容仅供参考,不保证正确性。