zoukankan      html  css  js  c++  java
  • 预处理指令

    由ANSI的标准规定, 预处理指令主要包括:
         #define
         #error
         #if
         #else
         #elif
         #endif
         #ifdef
         #ifndef
         #undef
         #line
         #pragma
        由上述指令可以看出, 每个预处理指令均带有符号"#"。下面只介绍一些常
    用指令。
        1. #define 指令
        #define指令是一个宏定义指令, 定义的一般形式是:
         #define 宏替换名字符串(或数值)
        由#define指令定义后,  在程序中每次遇到该宏替换名时就用所定义的字符
    串(或数值)代替它。
        例如: 可用下面语句定义TRUE表示数值1, FALSE表示0。
         #define TRUE 1
         #define FALSE 0
        一旦在源程序中使用了TRUE和FALSE, 编译时会自动的用1和0代替。
        注意:
        1. 在宏定义语名后没有";"
        2. 在Turbo C程序中习惯上用大写字符作为宏替换名, 而且常放在程序开头。
        3. 宏定义还有一个特点, 就是宏替换名可以带有形式参数,  在程序中用到
    时, 实际参数会代替这些形式参数。
        例如:
         #define MAX(x, y) (x>y)?x:y
         main()
         {
              int i=10, j=15;
              printf("The Maxmum is %d", MAX(i, j);
         }
        上例宏定义语句的含义是用宏替换名MAX(x, y)代替x, y中较大者,  同样也
    可定义:
         #define MIN(x, y) (x<y)?x:y
        表示用宏替换名MIN(x, y)代替x, y中较小者。

        2. #error指令
        该指令用于程序的调试, 当编译中遇到#error指令就停止编译。其一般形式
    为:
         #error 出错信息
        出错信息不加引号, 当编译器遇到这个指令时, 显示下列信息并停止编译。
          Fatal: filename linename error directive

        3. #include 指令
           #include 指令的作用是指示编译器将该指令所指出的另一个源文件嵌入
    #include指令所在的程序中, 文件应使用双引号或尖括号括起来。Turbo C 库函
    数的头文件一般用#include指令在程序开关说明。
        例如:
         #include <stdio.h>
        程序也允许嵌入其它文件, 例如:
         main()
         {
              #include <help.c>
         }
        其中help.c为另一个文件, 内容可为
           printf("Glad to meet you here!");
        上例编译时将按集成开发环境的Options/Directories/Include directories
    中指定的包含文件路径查找被嵌入文件。
     
        4. #if、#else、#endif指令
        #if、#els和#endif指令为条件编择指令, 它的一般形式为:
         #if 常数表达式
              语句段;
         #else
              语句段;
         #endif
        上述结构的含义是: 若#if指令后的常数表达式为真, 则编译#if到#else 之
    间的程序段; 否则编译#else到#endif之间的程序段。
        例如:
         #define MAX 200
         main()
         {
              #if MAX>999
                   printf("compiled for bigger\n");
              #else
                   printf("compiled for small\n");
              #endif
         }
     
        5. #undef指令
        #undef指令用来删除事先定义的宏定义, 其一般形式为:
         #undef 宏替换名
        例如:
          #define TRUE 1
           ...
          #undef TURE
        #undef主要用来使宏替换名只限定在需要使用它们的程序段中。


     

  • 相关阅读:
    李宏毅机器学习课程笔记-13.4模型压缩之架构设计
    李宏毅机器学习课程笔记-13.3模型压缩之参数量化
    李宏毅机器学习课程笔记-13.2模型压缩之知识蒸馏
    斗破苍穹 纳兰嫣然 同人换装
    初音未来 捏脸 虚拟歌姬 人物卡 人物数据
    王者荣耀 艾琳 同人换装
    王者荣耀嫦娥 拒霜思 同人 P图
    linux直接IO代码演示
    qt通过http请求下载文件(支持断点续传)
    Q_DECLARE_FLAGS用法
  • 原文地址:https://www.cnblogs.com/0000/p/1600979.html
Copyright © 2011-2022 走看看