zoukankan      html  css  js  c++  java
  • C语言细节之九:宏与C预处理器

    1、多语句宏的书写

         通常的目标是:书写一个像包含一个单独的函数调用语句的宏。

         这意味着:调用者需要提供最终的分号,而宏体则不需要。

         因此宏体不能为简单的括弧包围的复合语句,因为如果这样,调用的时候就会发生语法错(明显是一个单独语句,但却多了一个分号)。每行的最后用\连接

    2、sizeof不能用于#if预编译器指令中,因为此时还未对类型名称作解析

    3、m4工具是用于多用途的预处理器

    4、参数个数可变的宏的书写

        一般用一个单独的用括弧括起来的”参数“定义调用宏,参数在宏扩展的时候成为类似printf()那样的函数的整个参数列表。

        #define DEBUG(args) (printf(“DEBUG: ”), printf arg)

        if(n != 0) DEBUG((“n is %d\n”, n));

        明显缺陷是必须记住使用一对额外的括弧。

  • 相关阅读:
    PHP Mysql-插入多条数据
    PHP Mysql-插入数据
    PHP Mysql-创建数据表
    PHP Mysql-创建数据库
    PHP Mysql-连接
    PHP Mysql-简介
    PHP-7
    postgresql 创建函数
    在psql客户端中修改函数
    修改PostgreSQL数据库的默认用户postgres的密码
  • 原文地址:https://www.cnblogs.com/steven_oyj/p/1743190.html
Copyright © 2011-2022 走看看