C语言进阶-第8~10讲:预处理

来源:互联网 发布:恐怖鸟深层网络文章 编辑:程序博客网 时间:2024/05/17 06:53

知识点总结:

       预处理 以"#"开头的命令
       (1)宏定义 #define ...
       (2)文件包含 #include ...
       (3)条件编译 #indef ...


       宏定义                  #define 标识符 字符串
       带参数的宏定义  #define 宏名(参数表) 字符串
       谨慎带参数的宏定义的副作用,原样替换,整体替换时要给参数加括号


       文件包含?多文件程序组织
       源文件与头文件的分离
       一般头文件的几类内容:

                                                对自定义类型的声明
                                                函数声明
                                                宏定义
                                                全局变量定义
                                                外部变量声明
                                                或包含其他头文件
       include命令的两种形式:
                                                #include <文件名> 文件在系统目录中
                                                #include "文件名" 文件默认在用户的当前目录中
       GCC编译器中的头文件和库函数:

            


         条件编译 :根据需要只编译程序中的某一部分
         常用于对程序的调试中 

         条件编译的常用形式:

        

        

         文件包含中的一个问题(重复包含):
         文件包含保护--条件编译的另一用法(三行)

        


心得:

        预处理—>文件包含—>头文件—>宏定义—>条件编译

        其中文件包含中包含源文件和头文件,头文件又含系统目录中的头文件和自定义在当前目录下的头文件

        要将源文件和头文件分离,拿什么样的内容应该放在头文件中呢?

        宏定义可以是常见的定义符号常量也可以带参数进行宏定义,特点是原样替换

        条件编译常用在程序调试中和文件保护中,在自定义的头文件中条件编译避免文件重复包含

阅读全文
0 0