• 预处理指令


      

    1.强处理指令:是在程序编译前执行的命令

    2.强处理指令包括:宏定义(或带参数的宏定义),条件编译,文件包含

    a.宏定义:

      作用:将define关键字后的表达式替换成第二个表达式,不参与任何计算,只负责替换

      定义:#define 表达式  值    (所有的宏定义都以#开头)

      作用域:默认从定义开始到文件结尾,除非有#undef

    b.带参数的宏定义:

      定义:#define 函数((参数1)(参数2))  (表达式)

         注意:参数和表达式都尽量用(),避免因为计算顺序导致结果出错

    eg.直接将sum(1,2)替换成 (1+2)

    #include <stdio.h>
    #define sum((a),(b)) ((a)+(b))//宏定义两个数的和
    
    int main()
    {
          printf("1和2的和是:%d
    ",sum(1,2));  
          return 0;
    }

    c.条件编译 

      作用:用于判断代码是否将要执行编译

      定义:注意#if 和#endif是固定搭配

    #if(条件1){}
    #elif(条件2){}
    #else{}
    #endif

    d.文件包含

      定义;#include "自定义文件"

      作用:会把引用的文件的内容拷贝到当前文件中

      注意:include 是不可循环包含的,即a.c中包含b.h,但是b.c中不能包含a.h

    #include <stdio.h>
    #include "string.h"
    
    int main()
    {
        return 0;
    }
  • 相关阅读:
    Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
    mac 上面安装mysql-python
    NSConditionLock
    NSCondition
    web.py 学习(二)Worker
    web.py 学习(-)Rocket web框架
    ARC 下面可能导致的内存问题
    WireShark 抓取Telnet包
    node.js里npm install --save 与 npm install --save-dev 的区别
    最近阅读链接
  • 原文地址:https://www.cnblogs.com/hui1107464497/p/4532041.html
Copyright © 2020-2023  润新知