A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© huguozhang 中级黑马   /  2015-7-20 23:15  /  525 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

C中 以“#”开头的预处理命令。 包括 #include,  #define等

    无参宏:
        #define 标示符 字符串(常量、表达式、格式串)
    #defin M 10

    有参宏     #define SUM(a) a+a
    SUM(3) //不仅要a+a替换,而且还要把实参3带入到字符串中
    xxx
    {

    int result  = SUM(3);
    printf("result=%d\n",result);   //6

}

    注意:预处理指令,经常写在函数之前

    宏替换
        源程序在编译之前,由预处理程序对我们写的源代码进行处理:会把源代码中所有出现 宏名 的地方一律使用 宏的字符串 去替换



    条件编译

        发生在预处理阶段,在编译之前做的事情
        核心:根据条件编译指定的代码
        条件不同,编译的部分也不同,生成的目标文件也不一样

        1) #if  #elif   #else   #endif

        2)#ifdef 用来判断某个宏是否定义

          #ifdef  检测宏是否定义,如果定义了 返回true
              #ifndef 检测宏是否定义,如果没有定义,返回true

1 个回复

倒序浏览
水水水水水
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马