指令 用途
# 空指令,无任何效果
#include包含一个源代码文件
#define 定义宏
#undef 取消已定义的宏
#if 如果给定条件为真,则编译下面代码
#ifdef 如果宏已经定义,则编译下面代码
#ifndef 如果宏没有定义,则编译下面代码
#elif 如果前面的#if给定条件不为真,当前条件为真,则编译下面代码
#endif 结束一个#if……#else条件编译块
#error 停止编译并显示错误信息
希望可以帮到你,谢谢!
C程序的源代码中可包括各种编译指令,这些指令称为预处理命令。虽然它们实际上不是C语言的一部分,但却扩展了C程序设计的环境。所有预处理命令均以符号#开头.不同的预处理指令有不同的作用
比如命令#define定义了一个标识符及一个串。在源程序中每次遇到该标识符时,均以定义的串代换它。ANSI标准将标识符定义为宏名,将替换过程称为宏替换
还有其他预处理命令
#define,#error,#include,#if,#else,#elif,#endif,#ifdef,#ifndef,#undef,#line,#pragma等 可以自己查查
在预处理命令中,#的使用很多。1 所有预处理命令的标记。第一个字符都是#。
包括
#include
#if
#ifdef
#ifndef
#else
#endif
#undef
#error
#warning
#pragma
#line
等等。
2 在宏定义中,即#define中,#还有其他作用:
1) 单独的#,表示使用参数名。传递的参数将被当做字符串使用。
如
#define to_str(x) #x
当使用to_str(abcd)时,宏值为"abcd"
2) 使用##可以起到连接作用。
如
#define var(x) var_##x
当使用
int var(a)
等效定义
int var_a