《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

相关文章
|
11月前
|
编译器 C语言
C语言--预处理详解(1)
【10月更文挑战第3天】
114 4
|
11月前
|
编译器 Linux C语言
C语言--预处理详解(3)
【10月更文挑战第3天】
148 1
|
11月前
|
编译器 Linux C语言
【C语言篇】编译和链接以及预处理介绍(下篇)
【C语言篇】编译和链接以及预处理介绍(下篇)
110 1
【C语言篇】编译和链接以及预处理介绍(下篇)
|
10月前
|
C语言
【c语言】你绝对没见过的预处理技巧
本文介绍了C语言中预处理(预编译)的相关知识和指令,包括预定义符号、`#define`定义常量和宏、宏与函数的对比、`#`和`##`操作符、`#undef`撤销宏定义、条件编译以及头文件的包含方式。通过具体示例详细解释了各指令的使用方法和注意事项,帮助读者更好地理解和应用预处理技术。
207 2
|
11月前
|
C语言
【C语言的完结】:最后的测试题
【C语言的完结】:最后的测试题
58 3
|
11月前
|
C语言
C语言--预处理详解(2)
【10月更文挑战第3天】
83 2
|
11月前
|
编译器 C语言
C语言预处理详解
C语言预处理详解
|
11月前
|
存储 C语言
【C语言篇】编译和链接以及预处理介绍(上篇)2
【C语言篇】编译和链接以及预处理介绍(上篇)
91 0
|
3天前
|
存储 C语言
`scanf`是C语言中用于按格式读取标准输入的函数
`scanf`是C语言中用于按格式读取标准输入的函数,通过格式字符串解析输入并存入指定变量。需注意输入格式严格匹配,并建议检查返回值以确保读取成功,提升程序健壮性。
151 0
|
2月前
|
安全 C语言
C语言中的字符、字符串及内存操作函数详细讲解
通过这些函数的正确使用,可以有效管理字符串和内存操作,它们是C语言编程中不可或缺的工具。
238 15