NoteDeep

不带参数的宏定义

#define PI 3.14
  1. 宏的名字通常大写
  2. 只是简单的替换,预处理在编译之前,所以不会检查语法错误
  3. 作用域:定义开始到程序结束
  4. 可以使用#undef终止宏定义的作用域
  5. 宏定义允许嵌套
#undef PI

带参数的宏定义

#define MAX(x, y) ((x) ? (y) : (x) : (y))
  1. 宏的名字和参数列表中间不允许空格
  2. 不需要为参数指定类型,不需要分配内存空间

条件编译

#ifdef / #ifndef
#else
#endif

防止头文件的重复编译:
#ifndef _SOMEFILE_H_
#define _SOMEFILE_H_
//一些声明语句
#endif



评论列表

    不带参数的宏定义
    带参数的宏定义
    条件编译