黑马程序员技术交流社区

标题: 预处理指令 [打印本页]

作者: huguozhang    时间: 2015-7-20 23:15
标题: 预处理指令
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


作者: 朝歌晚舞    时间: 2015-7-20 23:16
水水水水水




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2