《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

相关文章
|
2月前
|
编译器 C语言
C语言--预处理详解(1)
【10月更文挑战第3天】
|
2月前
|
编译器 Linux C语言
C语言--预处理详解(3)
【10月更文挑战第3天】
|
1月前
|
C语言
【c语言】你绝对没见过的预处理技巧
本文介绍了C语言中预处理(预编译)的相关知识和指令,包括预定义符号、`#define`定义常量和宏、宏与函数的对比、`#`和`##`操作符、`#undef`撤销宏定义、条件编译以及头文件的包含方式。通过具体示例详细解释了各指令的使用方法和注意事项,帮助读者更好地理解和应用预处理技术。
29 2
|
2月前
|
编译器 Linux C语言
【C语言篇】编译和链接以及预处理介绍(下篇)
【C语言篇】编译和链接以及预处理介绍(下篇)
37 1
【C语言篇】编译和链接以及预处理介绍(下篇)
|
2月前
|
C语言
【C语言的完结】:最后的测试题
【C语言的完结】:最后的测试题
22 3
|
2月前
|
C语言
C语言--预处理详解(2)
【10月更文挑战第3天】
|
2月前
|
编译器 C语言
C语言预处理详解
C语言预处理详解
|
2月前
|
存储 C语言
【C语言篇】编译和链接以及预处理介绍(上篇)2
【C语言篇】编译和链接以及预处理介绍(上篇)
42 0
|
27天前
|
存储 C语言 开发者
【C语言】字符串操作函数详解
这些字符串操作函数在C语言中提供了强大的功能,帮助开发者有效地处理字符串数据。通过对每个函数的详细讲解、示例代码和表格说明,可以更好地理解如何使用这些函数进行各种字符串操作。如果在实际编程中遇到特定的字符串处理需求,可以参考这些函数和示例,灵活运用。
56 10
|
27天前
|
存储 程序员 C语言
【C语言】文件操作函数详解
C语言提供了一组标准库函数来处理文件操作,这些函数定义在 `<stdio.h>` 头文件中。文件操作包括文件的打开、读写、关闭以及文件属性的查询等。以下是常用文件操作函数的详细讲解,包括函数原型、参数说明、返回值说明、示例代码和表格汇总。
44 9