C语言中,宏替换与定义全局变量的区别是什么?
在宏定义的时候,比如:#define宏名宏体-----------------------------#definePI3.1415926这里把宏体的内容3.141592...
在宏定义的时候,比如:#define 宏名 宏体
-----------------------------#define PI 3.1415926
这里把宏体的内容3.1415926赋给宏名PI。下面的程序中凡是PI就表示3.1415926,那么这不就相当于定了一个全局变量,如:double PI = 3.1415926,所以我想知道这个宏定义是否与定义全局变量有区别?
另外还有就是宏定义没有数据类型的要求?没有限定一定是int char float等等? 展开
-----------------------------#define PI 3.1415926
这里把宏体的内容3.1415926赋给宏名PI。下面的程序中凡是PI就表示3.1415926,那么这不就相当于定了一个全局变量,如:double PI = 3.1415926,所以我想知道这个宏定义是否与定义全局变量有区别?
另外还有就是宏定义没有数据类型的要求?没有限定一定是int char float等等? 展开
展开全部
宏定义不分配内存,全局变量定义分配内存。宏定义的值在程序中是不能改变的,只是宏替换,全局变量的值是可以在程序中更改的。宏定义不存在类型问题,它的参数也是无类型的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
全局变量 是可以在程序中任何地方使用 而且是可以修改的 宏定义也可以在任何地方使用 但是不能在之后修改 数据类型没有限制的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
全局变量 是可以在程序中任何地方使用 而且是可以修改的 宏定义也可以在任何地方使用 但是不能在之后修改 数据类型没有限制的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
表达更清晰 增加可读性
#define 产生嵌入代码的方法
对嵌入式系统来说,为了能达到要求的性能,嵌入代码经常是必须的方法。
表达更清晰 增加可读性
#define 产生嵌入代码的方法
对嵌入式系统来说,为了能达到要求的性能,嵌入代码经常是必须的方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询