《C语言深度剖析》第三章 预处理详解 p2(完结) C语言从入门到入土(进阶篇)(一)

简介: 本章节文章是作者通过观看《C语言深度剖析》等各种资料总结的精华,基础部分省略了不少,是为了让大家能够更加深入了解C语言的魅力!因为为了避免与之前的文章发生赘述,所以就直接讲作者认为的精华部分哈!现在正文开始!

预处理


1. 条件编译


1.1 条件编译如何使用?


首先我们先来了解什么是宏定义,什么是宏真假:


125.png

首先我们先来了解什么是宏定义,什么是宏真假:

126.png


1.1.2. #define #ifdef


例一:


127.png128.png


例二:

0.png

PS:ifndef是相反的,就是没有定义则表达式为真。


1.1.3. #ifdef #else


例一:


1.png

条件编译:代码裁剪的工具!


例二:


2.png

#if 检测的不止是宏有没有定义,而且要看宏的真假,真才执行#if下面的表达式。

3.png

4.png

当然我们发现这个如果宏定义为空会报错没有定义会走#else下面的表达式。


例三:

5.png


6.png


VS也可以在预处理时自己输入:

7.png

多条件的情况

8.png

9.png

当然也可以不用 ==  也可以用 >  和 <


1.1.4. #ifdefined()



10.png

if defined()  和 ifdef 是一样的功能,判断也是判断宏有没有被定义。


下面是模拟 ifndef,但都是#endif 结束。124.png

相关文章
|
14天前
|
编译器 C语言
C语言--预处理详解(1)
【10月更文挑战第3天】
|
14天前
|
编译器 Linux C语言
C语言--预处理详解(3)
【10月更文挑战第3天】
|
19天前
|
自然语言处理 编译器 Linux
【C语言篇】编译和链接以及预处理介绍(上篇)1
【C语言篇】编译和链接以及预处理介绍(上篇)
38 1
|
19天前
|
编译器 Linux C语言
【C语言篇】编译和链接以及预处理介绍(下篇)
【C语言篇】编译和链接以及预处理介绍(下篇)
29 1
【C语言篇】编译和链接以及预处理介绍(下篇)
|
13天前
|
C语言
【C语言的完结】:最后的测试题
【C语言的完结】:最后的测试题
18 3
|
14天前
|
C语言
C语言--预处理详解(2)
【10月更文挑战第3天】
|
18天前
|
编译器 C语言
C语言预处理详解
C语言预处理详解
|
19天前
|
存储 C语言
【C语言篇】编译和链接以及预处理介绍(上篇)2
【C语言篇】编译和链接以及预处理介绍(上篇)
33 0
|
10天前
|
C语言 C++
C语言 之 内存函数
C语言 之 内存函数
25 3
|
1天前
|
存储 缓存 C语言
【c语言】简单的算术操作符、输入输出函数
本文介绍了C语言中的算术操作符、赋值操作符、单目操作符以及输入输出函数 `printf` 和 `scanf` 的基本用法。算术操作符包括加、减、乘、除和求余,其中除法和求余运算有特殊规则。赋值操作符用于给变量赋值,并支持复合赋值。单目操作符包括自增自减、正负号和强制类型转换。输入输出函数 `printf` 和 `scanf` 用于格式化输入和输出,支持多种占位符和格式控制。通过示例代码详细解释了这些操作符和函数的使用方法。
17 10