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

被替换的宏定义全局变量

发布网友 发布时间:2022-04-22 16:28

我来回答

4个回答

热心网友 时间:2023-11-12 14:31

1 作用时间不同。
宏定义在编译期间即会使用并替换,而全局变量要到运行时才可以。
2 本质类型不同。
宏定义的只是一段字符,在编译的时候被替换到引用的位置。在运行中是没有宏定义的概念的。而变量在运行时要为其分配内存。
3 宏定义不可以被赋值,即其值一旦定义不可修改,而变量在运行过程中可以被修改。
4 宏定义只有在定义所在文件,或引用所在文件的其它文件中使用。 而全局变量可以在工程所有文件中使用,只要再使用前加一个声明就可以了。换句话说,宏定义不支持extern。

热心网友 时间:2023-11-12 14:31

宏定义不分配内存,全局变量定义分配内存。宏定义的值在程序中是不能改变的,只是宏替换,全局变量的值是可以在程序中更改的。宏定义不存在类型问题,它的参数也是无类型的。

热心网友 时间:2023-11-12 14:32

全局变量 是可以在程序中任何地方使用 而且是可以修改的 宏定义也可以在任何地方使用 但是不能在之后修改 数据类型没有*的

热心网友 时间:2023-11-12 14:33

#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
表达更清晰 增加可读性

#define 产生嵌入代码的方法
对嵌入式系统来说,为了能达到要求的性能,嵌入代码经常是必须的方法。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
业务招待费包含什么费用 什么列入业务招待费 业务招待费含什么费用 建筑退让是多少距离 建筑退让线有哪些 建筑退界看什么规范 建筑红线一般退红多少 建筑红线是什么意思建筑红线退让规定建筑控制线和用地红 人体内含量最多的元素是什么?钙还是氧,不敢确定的请不要回答 人体中含量最多的元素为什么不是氢 在C#中怎么样声明全局变量 如何把函数中的变量变为全局变量?PHP的 @@X是一个全局变量吗? C语言中变量作用域和区别是什么? VB里怎么用全局变量来代替adodc C++ 为什么不鼓励使用全局变量 为什么不用全局变量代替指针? 老板8015油烟机和8019的区别 C语言中,宏替换与定义全局变量的区别是什么? c语言为什么全局变量不会替代局部变量中的值 全局变量为什么建议少用 php中用什么来代替post超全局变量 全局变量不是可以代替局部变量吗 易语言如何使用局部变量来代替全局变量? 老板抽油烟机8005多少钱啊? 为什么java没有全局变量?用什么可以代替? 老板油烟机8000好么??懂得介绍一下。 为什么尽量用局部变量代替全局变量 老板抽油烟机8005会不会不好用啊? 老板抽油烟机8005抽油烟效果是不是比较好? PHP中,类变量和全局变量的消耗问题 Java-Servlet的全局变量可以做缓存吗 浙江是哪个省 龙游桔子产地 浙江桔子哪里的好吃 橘子最出名的的出产地是哪里? 404 Not Found 柑橘的产地主要在全国的哪些地方呢? 浙江橘子产地在哪里 全国种植柑橘的产地主要分布在哪些地方? 桔子主要生长在哪里? 海康威视摄像头录像机分辨率 浙江千岛湖是盛产桔子地吗 海康威视硬盘录像机分辨率怎么设置? 中国大柑橘产地在哪里 海康威视硬盘录像如何调码率和分辨率? 哪个地方的桔子好吃? 海康威视录像机 2cif分辨率多少 海康威视分辨率调高不能显示怎么调回去 哪个省地区的桔子好吃?