zoukankan      html  css  js  c++  java
  • C语言 常用的宏定义

    __FILE__ :宏在预编译时会替换成当前的源文件名
    __LINE__:宏在预编译时会替换成当前的行号
    __FUNCTION__:宏在预编译时会替换成当前的函数名称
    //宏__VA_ARGS__的用法实例
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    /*
    __VA_ARGS__:总体来说就是将带参数的宏中的参数内容原样抄写在右边 __VA_ARGS__ 所在的位置。
    它是一个可变参数的宏,是新的C99规范中新增的,目前似乎只有gcc支持(VC从VC2005开始支持)。
    */
    
    #define Text1(...) printf(__VA_ARGS__)
    
    #define Text2(...) printf("Line:%d--;",__VA_ARGS__, __LINE__);
    
    #define Text3(fm, ...) printf(fm,__VA_ARGS__) 
    
    void main()
    {
        //示例一
        //Text1("123","456");
        //这样只能打印第一个参数"123"
        
        //示例二
        //Text2(112,22);
        //打印:Line:112--;__LINE__的值不打印
    
        //示例三
        Text3("1=%s,2=%s","我是值1","我是值2");
        //打印:1=我是值1,2=我是值2
        system("pause");
    }
  • 相关阅读:
    函数length属性
    vue面试题
    ES6引进新的原始数据类型symbol使用及特性
    jq动画
    防抖和节流
    this指向
    前端:性能优化之回流和重绘
    react生命周期
    vue生命周期
    react-redux的实现原理
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/6298312.html
Copyright © 2011-2022 走看看