学习第20天 include< >——去系统目录中找文件 include“ ”——去系统中找文件、如果找不到则从系统中查找、用于自定义的头文件、让系统优先使用 ifdef (标识符) #else(可以忽略) #endif——标识符被定义过(#define)则对ifdef编译、否则对程序else后面的代码进行编译、 ifndef (标识符) #else #endif ——标识符没有被定义过(#define)则对ifdef编译、否则对程序else后面的代码进行编译、 if (表达式) #else(可以忽略) #endif——指定表达式值为真(非0即真)、执行if后面的代码、否则编译else后面的代码、使程序在不同条件下实现不同的功能、

C语言

  1. 文件包含、

    1. 包含另外一个文件的内容、
    2. 通过——#include——命令实现
    3. 本质是将一个文件的内容复制到另一个文件内、
    4. .h——头文件、
    5. 一个#include只包含一个文件、
    6. 文件包含是可以嵌套的、
    7. 区别
    8. include“ ”——去系统中找文件、如果找不到则从系统中查找、用于自定义的头文件、让系统优先使用

  2. 条件编译、

    1. 条件编译形式

      1. ifdef (标识符) #else(可以忽略) #endif——标识符被定义过(#define)则对ifdef编译、否则对程序else后面的代码进行编译、

        1. # define a//将a换成其它内容或者注释掉则会执行第六行内容——定义
          int main()
          {
          #ifdef a
          	printf("打印A
          ");
          #endif // a
          	printf("不打印A
          ");
          }和if相同的
          
      2. ifndef (标识符) #else #endif ——标识符没有被定义过(#define)则对ifdef编译、否则对程序else后面的代码进行编译、

        1. # define a
          int main()
          {
          #ifndef a
          	printf("没有定义过A
          ");
          #endif // a
          	printf("定义过a
          ");
          }
          
      3. if (表达式) #else(可以忽略) #endif——指定表达式值为真(非0即真)、执行if后面的代码、否则编译else后面的代码、使程序在不同条件下实现不同的功能、

        1. 解决不同系统报错问题——跨平台、移植程序

        2. 条件编译的优点

          1. 减少生成的目标文件长度
  3. 层次划分、

    1. 编译、
      1. 预处理、
        1. 文件包含、
          2. 条件编译、
          3. 宏定义