C语言深度剖析(第三章要点)

本文详细介绍了C语言中的预处理指令,包括宏定义、条件编译、文件包含等核心内容,并解释了它们的工作原理及使用注意事项。

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

  • 一、宏定义:1.数值宏常量:const修饰的只读变量不能用来作为定义数组的维数,也不能放在case关键词后面。
  1. 字符串宏常量:定义字符串,尤其是路径 如:

#define ENG_PATH_3 E:\English\listen_to_this\listen\

_to_this_3       在这里路径太长的,可以用反斜杠接续符,正如上篇所说的反斜杠作为接续符时,在本行后面不能再有任何字符,空格都不行

  1. 不能用宏开始或结束一段注释,因为注释先于预处理指令被展成//……或/*……*/时,注释已处理完毕。
  2. 用define宏定义表达式:在这里不要吝啬括号就行。宏函数被调用时是以实参代换形参。而不是“值传送”。
  3. #undef是用来撤销定义宏的
  • 二、条件编译:三种形式:

1.#ifdef 标识符

程序段1

#else

程序段2

#endif

如果标识符已被#define命令定义过则对程序段1进行编译,否则对程序段二进行编译

2.ifndef 标识符

程序段1

#else

程序段2

#endif

这个与第一种形式的功能正好相反

  1. #if  常量表达式

程序段1

#else

程序段2

#endif

如果常量表达式的值为1,则执行程序段1.为0,则执行程序段2

  • 三、文件包含

文件包含可用于把多个文件连接成一个源文件进行编译,结果将生成一个目标文件。

C语言提供#include命令来实现文件包含的操作,它实际上是宏替换的延伸,分为两种:

  1. #include<filename>  <>中是要包含文件的名称,用尖括号括起来,说白了就是我们所说的头文件。
  2. #include”filename”   基本与1中类似

值得一提的是两者的查找路径不同:1:从编译器自带的函数库中寻找文件。2:先从自定义的文件中寻找,如果找不到就从函数库中寻找。

#include也支持相对路径     .代表当前目录   ..代表上层目录

  • 四、#error预处理

编译程序时,只要遇到#error就会生成一个编译错误的提示消息,并停止编译。

语法格式: #error error-message

  • 五、#line预处理

改变当前行数和文件名称   基本格式如下:#include number [“filename”] 其中【】内的文件名可以省略    例子: #line 30 a.h

  • 六、#prama预处理

设定编译器的状态或者指示编译器完成一些特定的动作

  1. #pragma message

在编译信息输出窗口中输出相应的信息。  #pragma message(“消息文本”)

  1. #pragma pack()
  • 七、内存对齐的要点
  1. 每个成员按自己的方式对齐,并最小化长度
  2. 复杂结构(结构体)的默认对齐方式为和他最长的成员对齐
  3. 对齐后的长度必须是最大对齐参数的整数倍
  • 八、##预运算符

#define XNAME(n) x##n

XNAME(8)   ------> x8     ##实际上就是“粘合剂”,就是将前后两部分连接起来。

 

 

 

 

### 回答1: 《C语言深度剖析》是一部经典的C语言教材,第三版相较于前两版做了很多更新和改动,针对C99和C11标准做了全面的介绍和讲解。 本书的优点在于深入浅出地阐述了C语言的编辑、编译原理和运行机制,系统讲解了C程序设计的基础知识、高级特性以及C语言和其他编程语言之间的差异。此外,本书还通过实例分析帮助读者更好地理解C语言的使用。 本书的点在于涉及到了较为深奥的C语言语法、内存结构和指针等知识点,需要一定的编程基础和数学基础。同时,由于本书的篇幅较长,需要读者有耐心和毅力。 总体来说,对于想要系统学习C语言的人来说,本书是一本非常不错的参考书,能够帮助读者掌握C语言的核心知识和技能,提高编程水平。但是需要注意的是,本书适合具有一定编程经验的读者,对于初学者来说或许有些困。 ### 回答2: C语言深度剖析第三版pdf是一本深入剖析C语言的书籍,它详细地介绍了C语言的语法,语义和编程技巧。本书分为四部分,第一部分是介绍C语言的基础知识和语法规则,例如变量,数据类型,指针,数组等。第二部分是介绍C语言的高级语法和编程技术,例如结构体,联合体,位域等。第三部分是介绍C语言的面向对象编程,包括封装,继承和多态性等。第四部分是介绍C语言的编程工具和相关技术,例如C语言的调试器,性能分析器和存储分析器,以及C语言的并发编程等。 本书的优点在于它深入浅出地讲解了C语言的核心概念和编程技巧,使读者能够更加熟练地掌握C语言。此外,本书还提供了大量的编程案例和练习题目,帮助读者更好地理解和掌握C语言的编程技巧和应用。 总的来说,C语言深度剖析第三版pdf是一本非常有价值的C语言编程指南,适合广大计算机专业学生和计算机程序员使用。无论你是初学者还是有经验的开发人员,本书都会对你的C语言编程技能有所提高和提升。 ### 回答3: 《C语言深度剖析》第三版是一本非常优秀的C语言教科书,深入浅出地讲解了C语言的基础知识和高级特性,旨在让读者掌握C语言的精髓和实际应用。该书主要包括C语言概述、数据类型、运算符、控制流、函数、指针、数组、字符串、结构体、联合体、位运算、预处理器、文件操作、内存管理、标准C库等方面的内容。 该书作者以深入浅出的风格,通过丰富的例子和实践,引导读者逐步深入了解C语言底层的细节,让读者在学习中不断锻炼自己的代码能力,从而全面提升自身的编程与设计能力。该书涵盖了C语言的方方面面,从入门到进阶,既适合初学者,也适合有基础的人员学习研究。 同时,为了满足不同读者的需求,该书还结合了许多实际应用案例,比如数字图像处理、编译器、操作系统和网络编程等,使得读者可以在实践中更好地理解和掌握C语言的应用。此外,该书还提供了大量的练习题和答案,以及源代码实例,方便读者巩固和应用所学的知识。 总之,《C语言深度剖析》第三版是一本真正的经典之作,在学习C语言方面是一本得的好书,读者可以在书中获得充实的学习和提高自己编程技能的机会。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值