#define #undef #ifdef #ifndef #if用法

他们都是在预处理的时候发挥作用。

1,#define宏定义

2,#udef 标识符  : 取消以前定义的宏定义 ; 如果以前没定义,则忽略它。

3,条件编译命令:

    #ifdef标识符

    程序段1

   #else

   程序段2

   #denif

 它的作用是:当标识符已经被定义过(一般是用#define命令定义),则对程序段1进行编译,否则编译程序段2。

 有时我们也会采纳以下条件编译命令:

    #ifndef标识符

    程序段1

   #else

   程序段2

   #denif

  还有一种形式,就是#if后面的是一个表达式,而不是一个简单的标识符:
  #if 表达式
  程序段1
  #else
  程序段2
  #endif 

注:程序段可以是语句组,也可以是命令行。

另,有时会遇到#define DEBUG ,定义了宏DEBUG,却没有扩展符号;这是一个技巧用法,通常涌来调试程序,和#ifdef和起来使用。当程序还处在调试阶段时,可以

#define DEBUG

#ifdef DEBUG

一些输出语句,可以涌来做调试

#endif

如果,调试通过,要生成releae时,可以#udef DEBUG  ,或者删掉#define DEDBUG ; 然后还可以在#ifdef后面加上#else(也可以不加,视程序而定)。

你可能感兴趣的:(c)