zoukankan      html  css  js  c++  java
  • 预处理与宏定义__笔记

    2017-09-18 10:45:21

    预处理
        1.预处理的指令和功能
            以“#”开头的语句
            #include 文件包含

                    #include <stdio.h> 在标准库下面找
                    #include "stdio.h" 在当前工作路径下查找 自定义头文件的包含形式
                    区别:查找的路径不相同

            #define 宏定义
            不带参数的宏和带参数的宏
                #define PI 3.14
                #define MAX(a,b) a>b?a:b
                                                                    better-> MAX(a,b) (a)>(b)?(a):(b)
                int result = MAX(3,5); 3>5?3:5;
                

            操作符 ##
                #define VAR(n) v##n
                当使用这种方式应用宏: VAR(1),预处理时,将会得到:v1

                    int i;
                    for(i = 1;i < 100;i++)
                    int VAR(i);

                     //int v1; int v2;int v3;


        2.条件编译(后接常量表达式)
            #if    #else    #endif
            #if    #elif    #else    #endif
            #ifdef    如果定义了
            #ifndef    如果没有定义(在头文件中运用最多) 目的:防止重复定义!!!
                在头文件中进行函数的声明和变量的声明,结构体的声明;
                在C文件中进行变量定义,函数编写;


            #undef 宏名 取消宏定义

        3.预定义的宏名
            __DATE__ 当前源程序的创建日期
            __FILE__ 当前源程序的文件名称
            __LINE__ 当前被编译代码的行号
            __TIME__ 当前源程序的创建时间



    --------小尾巴 ________一个人欣赏-最后一朵颜色的消逝-忠诚于我的是·一颗叫做野的心.决不受人奴役.怒火中生的那一刻·终将结束...
  • 相关阅读:
    js设计模式之 适配器模式与应用场景
    2017版本的IDEA
    JAVA实验六——图形用户界面设计——6-47选择整数计算
    升级apache版本
    基于 PVE + TrueNAS 的私有云配置流程
    基于Win10+VS2019的ceres-solver-2.0.0配置流程
    基于PVE+ROS+LEDE的软路由配置流程
    启动android studio
    vscode配置
    找不到https://raw.githubusercontent.com
  • 原文地址:https://www.cnblogs.com/tianxiaxuange/p/7541907.html
Copyright © 2011-2022 走看看