码迷,mamicode.com
首页 > 编程语言 > 详细

C语言的预处理命令

时间:2016-04-02 00:42:04      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:

1、宏替换命令

  编译器遇到宏替换命令所定义的标识符时,用其后的字符串替换该标识符。用这种方式定义符号常量。形式如下:

  #define  标识符 字符串 

    #define    TRUE     1    //用 TRUE 表示1

    #define     FALSE   0    //用 FALSE 表示0

  另一用法是作为代换。宏名可取参量数,每次遇到宏名时,与之相连的形式参数由程序中的实际参数代替:

    #define     MAX(a ,b)  ( a >= b ) ? a : b      

#define     MAX(a ,b)  ( a >= b ) ? a : b
int main( )
{
      int x = 190 ,  y = 106;
      printf("MAX :  %d" ,  MAX( x , y ) );       
}

 命令#undef 用作取消已定义的宏名替换:

    #undef  标识符

 将宏替换限定在一个代码块内。

#define    SUCCESS    1
    printf ( " %d" , SUCCESS );
#undef SUCCESS

2、终止编译命令

  为提高调试速度,加入终止编译命令 #error :

  #error MANUAL_STOP

   编译器编译到这条代码时就停止工作,并将字符串MANUAL_STOP作为错误提示,常与条件编译命令配合使用。

3、文件包含命令

  用于在编译时插入另一个源程序中的内容。被包含文件的名字必须用“ ”或者 < > 包围。

  #include "filename.h"

  #include <stdio.h>

4、条件编译命令

  1、#if 、#else 、#elif 及#endif 

#define X 190
#define Y 106
#if X <= Y                 //  如果条件成立,编译;否则编译 #else
    printf( " MIN : %d", X );
#else
    printf( " MIN : %d", Y );
#endif

  2、#ifdef 和ifndef

  #ifdef  用于判断某个宏名称是否已定义,如果已经定义则执行#ifdef 与#endif之间的代码。

  #ifndef 用于判断某个宏名称是否未定义,与前者相反。  

#ifdef    标识符
    代码块
#endif

#ifndef 标识符
    代码块
#endif

5、修改行号命令

6、编译指示命令

7、域定义的宏名

8、注释

 

C语言的预处理命令

标签:

原文地址:http://www.cnblogs.com/YPHFree/p/5343537.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!