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,宏变量值;

  • 相关阅读:
    新 DAO 访问接口
    TCP/IP协议中的参数说明
    最近在制作一套ASP.NET控件,已初见雏形
    Creating a Dynamic UI with Knockout.js
    数据库性能优化数据库等待队列
    webpy框架
    .Net Web Http状态异常
    一步一步搭架子(完结篇)
    使用yshow分析前端页面性能
    代码混淆、加密
  • 原文地址:https://www.cnblogs.com/ruiy/p/malloc.html
Copyright © 2011-2022 走看看