C语言

C 语言中宏的使用

时间:2024-08-02 16:26:19 C语言 我要投稿
  • 相关推荐

C 语言中宏的使用

  宏的主要作用是在编译预处理时,对程序中所有出现的“宏名”都用宏定义中的字符串去代换 。

  宏定义是由源程序中的宏定义命令完成的,宏代换是由预处理程序自动完成的。在 C 语言中,“宏”分为有参数和无参数两种,即分别简称为有参宏和无参宏。

  无参宏

  无参宏的宏名后不带参数,其定义的一般形式为:

  #define 标识符 字符串

  其中的 “#” 表示这是一条预处理命令,凡是以 “#” 开头的均为预处理命令。“define” 为宏定义命令,“标识符” 为所定义的宏名称,“字符串” 可以是常数、表达式、格式串等 。

  #include#define NUM 4int main(int argc, const char * argv[]) { int a = 4;

  a *= NUM; printf("%d ", a); return 0;

  }

  运行结果:16 。这里可以看出我们定义了一个宏名称为 NUM 的宏,当 main 中代码出现 NUM 的地方,就会自动用数字 4 进行替换,这样做的好处是当代码中多处存在同一变量时,只需要修改宏 NUM 的值即可,而无需在代码中一处处的进行修改 。

  有参宏

  C 语言允许宏带有参数,在宏定义中的参数称为形式参数,宏调用中的参数称为实际参数 。

  对带参数的宏,在调用中,不仅要宏展开,而且要用实参去代换形参 。

  带参宏定义的一般形式为:

  #define 宏名(形参表) 字符串

  示例代码:

  #include#define SUM(a) a+aint main(int argc, const char * argv[]) { int a = SUM(4);  printf("%d ", a);  return 0;

  }

  运行结果:8 。这里可以发现 SUM 将 4 传入,通过 a + a ,即 4 + 4 = 8 。

【C 语言中宏的使用】相关文章:

c语言中指针的使用方法03-20

c语言中关于使用BF-KMP算法实例04-01

C语言宏定义07-01

C语言中使用快速排序算法对元素排序的实例03-18

C语言中volatile的含义12-03

C语言中的链接编写05-26

C语言的宏定义分析03-30

C语言的assert断言宏12-03

C语言中的指针是什么03-17