问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

----宏 与 符号常量----请高手指教一下。。本人菜鸟~~刚学。。谢谢

发布网友 发布时间:2022-05-07 05:21

我来回答

2个回答

热心网友 时间:2023-10-16 18:41

我是这么认为的:
1.符号常量是最简单的宏。
2.符号常量是由编译器处理的,其只存在于源代码文件中,在编译时将被实际数字代替,所以它不占用内存。而变量会一直存在于生成的可执行文件(程序)中,在程序运行时将被分配内存,因为内存是可修改的,因此变量可以被赋值。

至于
#define A 10
第一块代码
#define A 20
第二块代码

这个情况属于“宏的重定义”,编译时会产生编译警告,其目的是告诉编译器,在第一块代码中,A用10替换,在第二块代码中,A用20替换。
这种用法只是用于告诉编译器A的某一值在源代码中的作用范围,编译器只会用最后定义的A来完成替换工作。这不属于“赋值”操作,因为A不是变量,而是属于“替换的变化”。赋值是在程序运行时才会进行的操作。

谨记:宏只存在于源文件中。

热心网友 时间:2023-10-16 18:42

符号常量:
#define == =
那么在if里面:
if (a = 1)就符合语法规则了。

宏,宏在某些方面像函数:
#define cube(x) ((x)*(x)*(x))
那么cube (3) 就得27了
这里,最好给x加上括号,以保证其运算顺序,否则写成如下:
#define cube(x) (x * x * x)
那么cube(3+2) 就被翻译成: 3+2*3+2*3+2,这显然不是我们想要的。

这里的常量不能再被赋值是指如下语句不合法:
A = 3;
你那样做虽然能够编译通过,但完全没有必要这么做,并且通常会引起编译器警告

热心网友 时间:2023-10-16 18:41

我是这么认为的:
1.符号常量是最简单的宏。
2.符号常量是由编译器处理的,其只存在于源代码文件中,在编译时将被实际数字代替,所以它不占用内存。而变量会一直存在于生成的可执行文件(程序)中,在程序运行时将被分配内存,因为内存是可修改的,因此变量可以被赋值。

至于
#define A 10
第一块代码
#define A 20
第二块代码

这个情况属于“宏的重定义”,编译时会产生编译警告,其目的是告诉编译器,在第一块代码中,A用10替换,在第二块代码中,A用20替换。
这种用法只是用于告诉编译器A的某一值在源代码中的作用范围,编译器只会用最后定义的A来完成替换工作。这不属于“赋值”操作,因为A不是变量,而是属于“替换的变化”。赋值是在程序运行时才会进行的操作。

谨记:宏只存在于源文件中。

热心网友 时间:2023-10-16 18:42

符号常量:
#define == =
那么在if里面:
if (a = 1)就符合语法规则了。

宏,宏在某些方面像函数:
#define cube(x) ((x)*(x)*(x))
那么cube (3) 就得27了
这里,最好给x加上括号,以保证其运算顺序,否则写成如下:
#define cube(x) (x * x * x)
那么cube(3+2) 就被翻译成: 3+2*3+2*3+2,这显然不是我们想要的。

这里的常量不能再被赋值是指如下语句不合法:
A = 3;
你那样做虽然能够编译通过,但完全没有必要这么做,并且通常会引起编译器警告
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? #define 重定义函数问题 关于C++宏定义问题 茶杯泰迪长大后能蹦上沙发吗 windows宏定义问题 winuser.h和resource.h宏重定义问题 c语言宏定义如何用?用宏定义有什么优点? 小红懂得了珍惜时间作文 C++宏可以被多次重新定义吗? 查账征收改为核定征收怎么办理 要什么手续 核定征收需要网上申报吗 个人经营所得税核定征收怎么申请,哪里能办? 请叫一下各位怎么办理核定征收? 广州梵泰代理的晓星pokm330f能过头戴耳机的折叠测试吗? 先锋SE-MJ512折叠式头戴耳机,怎么样?用过的说下。 word2003怎么使文本显示在单独一页? 求推荐头戴式耳机,降噪,轻便,最好有一些折叠,带着舒服的耳机,价格区间在500~1000左右。 素质拓展训练的起源 拓展训练是什么意思 户外拓展培训的起源 拓展训练在中国的发展史 如何 修改Visual Studio C++ 2015 那些配置的宏 c语言为什么会出现错误:重定义,相同的基函数 推荐几款联想笔记本电脑 只要16-17寸 联想有没有17寸的笔记本电脑 成年茶杯泰迪几个月长牙 有没有人用17寸的笔记本 貌似 华硕的不错 能当台式机用吗 MFC中的CANCEL重定义 为什么17寸的笔记本会很贵? c语言中报错:重定义,不同的基类型。求解释~ 华硕17寸笔记本电脑怎么样 关于DWORD和宏,高手指教 初始化gpio时如何配置重定义功能 C++头文件为什么要一个该 头文件的宏定义 求 贝瓦 好宝宝简谱 这是歌词天蓝蓝,白云飘,背起小书包。 花儿开, 背起小书包是什么儿歌? 如何锻炼腰部肌肉?还有怎样使膝盖有力? 如何锻炼腰部、膝盖? 腰和膝盖不好的人,如何进行运动锻炼 凉席有特别大的汗味怎么办 怎样能去掉凉席上的汗味