C语言 宏的概念和使用总结

原创 2015年07月10日 22:36:39

第一部分

宏的概念:

被定义为“宏”的标识符称为“宏名”。

在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。""分为有参数和无参数两种.


第二部分  无参宏

无参宏的使用格式:  #define 标识符 字符串 


使用注意事项:


1) 习惯上宏名用大写字母表示,以便于与变量区别。但也允许用小写字母

2) 宏定义是用宏名来表示一个字符串,在宏展开时又以该字符串取代宏名 ,这是一种简单的替换.预处理程序对他不作任何检查.

3) 宏定义不是说明或语句,在行末不必加分号,如加上分号则连分号也一起置换。
4) 宏定义必须写在函数之外,其作用域为宏定义命令起到源程序结束。如要终止其作用域

可使用 #undef命令。
5) 宏名在源程序中若用“”括起来,则预处理程序不对其作宏代换。

6) 宏定义允许嵌套,在宏定义的字符串中可以使用已经定义的宏名。在宏展开时由预处理程序层 层代换。

7) 可用宏定义表示数据类型,使书写方便。
8) 对“输出格式”作宏定义,可以减少书写麻烦9)特别注意注意括号问题 


第三部分 有参宏

对带参数的宏,在调用中,不仅要宏展开,而且要用实参去代换形参。使用格式:#define 宏名(形参表) 字符串


有参宏使用注意事项:


1) 带参宏定义中,形参之间可以出现空格,但是宏名和形参表之间不能有空格出现。

2) 在带参宏定义中,形式参数不分配内存单元,因此不必作类型定义。而宏调用中的实参有具体 的值。要用它们去代换形参,因此必须作类型说明.带参宏中,形参和实参只是符号代换,不存在值传递的问题。

3) 在宏定义中的形参是标识符,而宏调用中的实参可以是表达式。4)在宏定义中,字符串内的形参通常要用括号括起来以避免出错。在上例中的宏定义中

(y)*(y) 表达式的y都用括号括起来,因此结果是正确的。5)宏定义也可用来定义多个语句,在宏调用时,把这些语句又代换到源程序内。 



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C语言中关于位域的概念和使用

  • 2013年05月09日 20:37
  • 217KB
  • 下载

C_C语言的指针的概念与使用

下面我们介绍C语言的指针

黑马程序员 -- C语言 函数概念 使用 执行 注意点

------- android培训、java培训、期待与您交流! ---------- 第一节 函数 1   函数概述 1>函数(function)是用于完成特定任务的程序代码的自包含单元。 2>函数...

C语言基本概念

  • 2016年09月22日 11:11
  • 414KB
  • 下载

新概念c语言

  • 2015年05月19日 10:13
  • 14.52MB
  • 下载

黑马程序员--c语言运算符的概念与分类

本文章还存在不足,作者会自动补足

郭天祥新概念51单片机C语言教程

  • 2014年06月05日 17:37
  • 8.53MB
  • 下载

C语言基本教程 第3课: C程序基本概念

1.C语言是什么,有什么用   C语言是一门通用计算机编程语言,通常用作嵌入式编程,系统编程,用于嵌入式开发,Linux驱动开发. 2.C语言发展历史 •产生背景 •ALGOL60→C...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言 宏的概念和使用总结
举报原因:
原因补充:

(最多只允许输入30个字)