#ifdef #ifndef #if #include #line #pragma #define命令

本文详细介绍了C语言预处理指令的使用方法,包括条件编译指令如 #ifdef, #ifndef, #if, #else, #elif 和 #endif 的使用场景;文件包含指令 #include 的两种形式及其区别;以及其他预处理指令如 #line 和 #pragma 的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#ifdef 宏替换名
语句段
#endif   //如果 宏替换名 被定义则执行 语句段 否则不执行

#ifdef 宏替换名
语句段1
#else
语句段2
#endif //如果 宏替换名 被定义则执行 语句段1 否则执行 语句段2

#ifndef 宏替换名

语句段
#endif //如果 宏替换名 被没被定义则执行 语句段 否则不执行

#if 常数表达式 //不带()
语句段1
#else //else if 常数表达式

语句段2
#endif //如果常数表达式为真则执行 语句段1 否则执行 语句段2

#include " " 从库函数头文件所在目录寻找包含文件
#include " " 从用户当前目录中寻找包含文件,如果没有再到库函数头文件目录中查找
//以上如果其中一个包含全局静态变量,那么它所处的.c或.cpp文件中也有效,不需要加exturn声明

#line //改变行号
#line 行号["文件名"] __LINE__ 当前行号__FILE__ 当前文件名  //注意是两个_而不是一个_

#pragma 参数
message参数:该参数能够在编译信息输出窗口中输出相应的信息
code_seg参数:设置程序中函数代码存放的代码段
once参数:保证头文件被编译一次

#define 宏名 字符串
#define 宏名(参数表)字符串 //它的扩展必须加括号,最好是每个替换的时候加括号
//如果字符串长于一行,可以在该行末尾用一反斜扛 "\" 续行,如果串中有宏名则不进行替换,不进行数据类型检测,在预编译阶段处理

#undef 宏替换名  //终止#define作用域,即删除事先定义了的宏定义



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值