zoukankan      html  css  js  c++  java
  • preprocess

    1,宏定义,有参宏,无参宏,宏定义实现的是定义一个符号常量;

    条件编译3种方式,文件包含含义;

    不带参数的宏定义;既用一个指定的的标识符来代替一个字符串;
    #define RUIY 10000000
    把标识符定义为字符串,在进行编译预处理时,编译系统就能把程序中出现的标识符用字符串去替代,然后再对预处理后的程序进行编译;
    与typedef 给系统中已存在的数据类型重新定义别名类似,但是是有区别的;
    typedef  char * String;
    使用不带参数的宏定义
    
    #include <stdio.h>
    #define PI 3.1415926
    
    int main(){
      float s,r,v,l;
      printf("Please input radius longs:");
      scanf("%f",&r);
      
    }

    2,宏名一般用大写,以便于变量加以区别;

    使用宏名代替字符串可以提高程序的运行效率

    宏名语句后不加分号;以便于通常的C语句区别开来;

    宏名定义的有效范围为从定义处起到源程序文件的末尾;

    可用#undef终止宏定义的作用范围 ;

    在进行宏定义时可引用以定义的宏名;

    对程序中用用双引号括起来的标识符在预处理时不作字符替换,

    宏定义只作字符替换,预处理时不分配内存;

    void main()
    {
      printf("l=%10.4
    v=%10.4
    s=%10.4
    ");
    }

    5,带参数的宏定义

    带参数的宏定义不只是简单的字符替换,还要进行参数替换;
    一般定义形式:
    #define 宏名标识符(参数列表) 字符串

     6,条件编译

    6,#if

    #if condition
      code;
    #elif require
      code;
    #else
      code;
    #endif

    条件编译分别可以实现:

    1,代码注释,2,宏名定义判断,3,宏变量值;

  • 相关阅读:
    git stash和git stash pop
    Ethereum HD Wallet(虚拟货币钱包)-BIP32、BIP39、BIP44
    bip44
    bip39
    bip32
    ethjs-1-了解
    myEtherWallet在线钱包的使用
    MetaMask/provider-engine-2-代码
    MetaMask/provider-engine-1
    MetaMask/eth-block-tracker
  • 原文地址:https://www.cnblogs.com/ruiy/p/malloc.html
Copyright © 2011-2022 走看看