社区
C语言
帖子详情
之:宏定义#define
#赵闪闪<studio.h>
2019-12-30 07:05:08
宏定义SQ(y) (y)*(y) 第几句a+1代替了y? 明明SQ(y) 被定义为(y)*(y),怎么被(y)*(y)代替了SQ,SQ后面的(y)哪去了
...全文
17
3
打赏
收藏
之:宏定义#define
宏定义SQ(y) (y)*(y) 第几句a+1代替了y? 明明SQ(y) 被定义为(y)*(y),怎么被(y)*(y)代替了SQ,SQ后面的(y)哪去了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
寻开心
2019-12-30
打赏
举报
回复
#define就是直接替换代码的
你无妨这样想象, 程序在执行真正的编译之前,先做了一遍预处理过程
遇到SQ(y)这样的代码,比如你的例子当中 SQ(a+1),它就自动的给你替换成(y)*(有),也就是等于你手工输入的代码 (a+1)*(a+1) 一样
完成这个替换后, 程序才继续编译
#赵闪闪<studio.h>
2019-12-30
打赏
举报
回复
我自学,有点看不懂这个过程,能通俗店么?
自信男孩
2019-12-30
打赏
举报
回复
需要注意的宏定义等价替换不是在程序执行时,而是预编译阶段。总得来说,宏定义替换是在形成可执行程序前就发生了。
172集通俗易懂的C语言从入门到项目实战教程
组指针、函数指针、回调函数)、调试技巧、程序环境和预处理(翻译环境、运行环境、预定义符号、#
define
和#undef、宏和函 数、条件编译、文件包含)、 数据在内存中的存储、内存块分配、static、字符函数和字符串函数、...
C语言学习:
宏定义
#
define
C语言学习:
宏定义
#
define
define
是C语言中的预处理命令,它用于
宏定义
,可以提高源代码的可读性,为编程提供方便。 预处理命令以“#”号开头,如包含命令#include,
宏定义
命令#
define
等。一般都放在源文件的前面,它们称为预处理部分。 所谓预处理是指在进行编译之前所作的工作。预处理是C语言的一个重要功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分作处理,处理完毕自动进入对源程序的编译。 宏的定义: 在C或C++语言源程序中允许用一个标
宏定义
#
define
❀不带参数的
宏定义
1.
宏定义
指令#
define
: 用来定义一个标识符和一个字符串,以这 个标识符来代表这个字符串,在程序中每次遇到该标识符时就用所定义的字符串替换它。 2.
宏定义
的作用: 相当于给指定的字符串起一个别名。 不带参数的
宏定义
一般形式如下: #
define
宏名 字符串 #表示这是一条预处理命令。 宏名是一个标识符,必须符合C语言标识符的规定。 字符串可以是常数、表达式、格式字符串等。 下面我们举一个例子来看看叭???? 例如:#
define
PI3.14159 首先呐,该语句的作用是在
宏定义
#
define
#ifndef #endif
目录 #
define
宏定义
一、无参
宏定义
二、带参
宏定义
#ifndef 条件编译 #
define
宏定义
在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为“宏”。“
define
”为
宏定义
命令。 被定义为“宏”的标识符称为“宏名”。在编译预处理时,对程序中所有出现的“宏名”,都用
宏定义
中的字符串去代换,这称为“宏代换”或“宏展开”。
宏定义
是由源程序中的
宏定义
命令完成的。宏代换是由预处理程序自动完成的。 优点: (1) 方便程序的修改。这个就不多说了。 (2...
C语言
宏定义
#
define
C语言
宏定义
#
define
C语言
69,336
社区成员
243,078
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章