社区
C语言
帖子详情
关于宏
向良玉
2009-03-26 07:49:48
#define n 10
int num[n];
与
int n=10;
int num[n];
有什么区别???
...全文
110
12
打赏
收藏
关于宏
#define n 10 int num[n]; 与 int n=10; int num[n]; 有什么区别???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liqiong593664937
2009-03-27
打赏
举报
回复
第一个n是常量
第二个n是变量
AJrxin
2009-03-26
打赏
举报
回复
int n=10;
int num[n];
这样定义不可以的。
duoduo168
2009-03-26
打赏
举报
回复
宏为简单的文字替换,没有经过编译器类型检查的。变量可以由编译器检查类型。
aozhi
2009-03-26
打赏
举报
回复
在C89下
int n=10;
int num[n];
编译过不了。因为编译器根本不知道n是什么,无法为数组开辟空间。
#define n 10
int num[n];
再编译前,预处理器会把n替换成10,因此,可以编译通过。
预处理⇒编译⇒链接⇒执行
monster2002
2009-03-26
打赏
举报
回复
宏是在预编译的时候就由编译器进行替换,没有申请内存,n只是一个将被替换掉的标识。
而你声明变量编译器会在编译的时候为变量申请一块内存。
第一种写法是为了让自己的代码看着舒服(至少不会遭到鄙视),因为代码里直接出现数字比如 int array[10]就会降低代码的可读性,还会增加代码的维护难度,但你要是先#define ARRAY_SIZE 10 然后 int array[ARRAY_SIZE]看起来就好多了,另外声明宏一般都是大写,。
第二种写法完全没有意义,还不如 int array(10)。
hndth
2009-03-26
打赏
举报
回复
帮顶
ZM27080401
2009-03-26
打赏
举报
回复
如果程序中大量用到同一常量,并且这个常量偶尔会被修改,使用宏定义,那个就是变量了,这个就没什么好说的了
xidianxiancai
2009-03-26
打赏
举报
回复
int n=10;
int num[n];
不能放在一起用的吧。不能用一个变量值作为数组的维数的
Rain208
2009-03-26
打赏
举报
回复
一个是在编译期就已经确定下来的值-----常量 as const int n = 10;
一个在运行时才能确定的变量
xiaoyuer5222
2009-03-26
打赏
举报
回复
第二种定义,n为变量,不能初始化数组长度
#define n 10
int num[n];
与
int num[10]
没有什么区别,只是为了程序的可维护性
当需要更改数组大小时只需要改变宏定义中的大小,其余不用改变
malpower
2009-03-26
打赏
举报
回复
你这样想嘛,上面那个是常量,下面哪个是变量,这样想要好理解点.
ForestDB
2009-03-26
打赏
举报
回复
你确定C89下能有下面的那种写法?
changelog-beta:Macro beta应用程序的公共变更日志
通过单击菜单栏中的“
宏
”>“关于
宏
”,检查您正在运行的版本是否为当前版本。 如果您落后,请尝试步骤1和2。 贡献者 约翰·凯克 Ankith Harathi 罗西·米切姆(Rossi Meacham) 尼丁·拉吉尼坎特(Nitin ...
关于
宏
##的使用注意一点
关于
宏
##的使用注意一点
[rust-018]关于
宏
参考文档: https://kaisery.gitbooks.io/rust-book-chinese/content/content/Macros%20%E5%AE%8F.html https://doc.rust-lang.org/book/ch19-06-macros.html https://zhuanlan.zhihu.com/p/104469645 ...
关于
宏
`uvm_info和$display的区别
$display可以直接打印一条文本信息,并在每一次$display执行后会自动换行,比如: 打印结果: `uvm_info的功能与$display语句的功能相似,但比display更加灵活,以下是`uvm_info的格式: `uvm_info有以下三种...
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章