1.#define 的作用

在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为“宏”。被定义为“宏”的标识符称为“宏名”。在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。

在C或C++语言中,“宏”分为有参数和无参数两种。

2. 无参宏定义

无参宏的宏名后不带参数。

其定义的一般形式为:

#define 标识符 字符串

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

例如:

#define M (a+b)

它的作用是指定标识符M来代替表达式(a+b)。在编写源程序时,所有的(a+b)都可由M代替,而对源程序作编译时,将先由预处理程序进行宏代换,即用(a+b)表达式去置换所有的宏名M,然后再进行编译。

c语言define作用范围,#define的作用(C语言)相关推荐

  1. c语言中初始化的主要作用,C语言初始化——栈的初始化

    栈是一种具有后进先出性质的数据组织方式,也就是说后存放的先取出,先存放的后取出.栈底是第一个进栈的数据所处的位置,栈顶是最后一个进栈的数据所处的位置. 1.满栈与空栈 根据SP指针指向的位置,栈可以分 ...

  2. C语言中动态数组的作用,C语言实现动态数组

    前言 在纯C语言编程中,数组的创建必须是固定的大小,因为C语言本身没有提供动态数组这种数据结构,这是一个让习惯了使用高级语言编程的人转做C开发面临的一个很头疼的问题,本篇文章就将介绍如何使用纯C语言编 ...

  3. c语言在中职的作用,C语言程序下的中职教学论文

    一.树立学生良好的学习信心 在日常的中职计算机教育教学中,应当重视学生对教学内容的看法,大多数学生认为C语言学习相对较为困难,在日常的中职计算机学习中,学生某种程度上缺乏应有的信心以及勇气,而尽管有的 ...

  4. c语言中 程序各步作用,C语言学习网总结C语言学习五步曲

    很多人对C语言的第一感觉就是太难了,很难理解这种语言,也不知道该如何来理解,书也看了,视频也看了,但就是没什么太大的作用,那么C语言究竟该如何来学? C语言作为一门计算机语言,想要真正的掌握并使用需要 ...

  5. c语言里的%p的作用,c语言中 %p的含义

    格式控制符"%p"中的p是pointer(指针)的缩写.指针的值是语言实现(编译程序)相关的,但几乎所有实现中,指针的值都是一个表示地址空间中某个存储器单元的整数.printf函数 ...

  6. c语言中各种函数的作用,C语言常用函数用法大全

    C语言是当中广泛的计算机编程语言,是所有计算机编程语言的祖先,其他计算机编程语言包括当前流行的Java语言,都是用C语言实现的,C语言是编程效率高的计算机语言,既能完成上层应用开发,也能完成底层硬件驱 ...

  7. c语言for表达式1的作用,C语言for语句用法详解

    C语言for语句用法详解 C语言是一门高级计算机编程语言,设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言.下面小编给大家介绍C语言f ...

  8. c语言中预处理指令的作用,C语言中常用预处理指令

    转载自 https://blog.csdn.net/farsight2009/article/details/58602886 姓名:张艳博 学号:17021223249 [嵌牛导读]: C语言中常用 ...

  9. c语言中的除号什么作用,c语言中除号用什么表示

    前言继承是OOP设计中的重要概念.在C++语言中,派生类继承基类有三种继承方式:私有继承(private).保护继承(protected)和公有继承(public).一.继承规则继承是C++中的重要特 ...

最新文章

  1. 怎样格式化电脑_电脑硬盘故障恢复软件:坏硬盘数据怎么恢复?
  2. ffmpeg的编译大全
  3. 抖音张一鸣:我的大学四年收获及工作感悟
  4. Python机器学习:多项式回归002scikit中的多项式回归与pipeline(管道)
  5. @SpringBootApplication注解分析
  6. 运维小白死磕的专业术语,你真的理解透了吗?
  7. zeptojs库解读1之整体框架
  8. 修改系统提供视图类的显示字体
  9. 有关lodop.js和CLodop服务
  10. 【IMX6ULL笔记】--内核底层驱动初步探究
  11. 实例详解ISA防火墙策略元素
  12. 上海软件工程师工资待遇调查
  13. 工业互联网体系架构、类型及应用
  14. eval() 的用法
  15. Android中 .stub类的使用
  16. 07图示围墙lisp_大神门有没有CASSlisp程序将房屋注记放在右上角?大神门有没 爱问知识人...
  17. 毕业设计-基于机器视觉人脸识别技术课堂签到系统的设计与实现-OpenCV
  18. 在Windows实现类似MacOS的时间壁纸,编写脚本自定义自己喜欢的壁纸
  19. cad解除块的快捷命令_CAD中的块能否修改?能!一个命令可快速解决
  20. w7的计算机属性系统保护在哪个文件夹,W7恢复系统文件最有效的方法

热门文章

  1. MySQL将多条数据合并成一条
  2. 计算机网络应用班级口号霸气押韵,大学班级口号霸气押韵.doc
  3. 创业者如何打动投资者——创业态度决定一切
  4. 项目管理全流程,让你的工作和生活事半功倍
  5. Win11校园网无法连接怎么办?Win11连接不到校园网的解决方法
  6. 宜信敏捷数据中台建设实践
  7. Spring Boot idel 实现热部署
  8. 在职可以考计算机吗,沈阳师范大学在职研可以考计算机证吗
  9. Java基础の乱弹琴二:break关键字
  10. 何有效提高香港主机的访问速度?