amoBBS 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
查看: 515|回复: 17

定义一个数组后,使用数组时为什么可以在数组方括号里...

[复制链接]
发表于 2017-5-18 15:11:49 | 显示全部楼层 |阅读模式
5莫元
本帖最后由 duanzhijie 于 2017-5-18 20:00 编辑

定义一个数组后,使用数组时为什么可以在数组方括号里面,不用0,1、2、3,而用了别的名字??
附件: 您需要 登录 才可以下载或查看,没有帐号?注册

最佳答案

 楼主| 发表于 2017-5-18 20:15:47 | 显示全部楼层
本帖最后由 duanzhijie 于 2017-5-18 20:16 编辑


enum 变量名{枚举名1,枚举名2,……枚举名n};

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2017-5-18 15:11:50 | 显示全部楼层
enum枚举型
 楼主| 发表于 2017-5-18 15:14:16 | 显示全部楼层
我添加了图片了,但是好像图片没显示
发表于 2017-5-18 15:33:50 | 显示全部楼层
楼主确定方括号里面的不是宏定义?
发表于 2017-5-18 15:37:24 | 显示全部楼层
方括号里面的是一个已经赋值的常量,应该在某个特定的地方已经初始化了
发表于 2017-5-18 15:56:45 | 显示全部楼层
方括号内是宏,编译器在编译时会用数字来替代。
发表于 2017-5-18 16:02:27 | 显示全部楼层
u16 a[4];
u8 i;
for(i=0; i<4; i++)
{
    a[i] = 0;
}
正常吧。
把 u8 i;改成float name;下面的i都改成 name,也是一样的,只是多了一个默认的强制类型装换float =》 int
 楼主| 发表于 2017-5-18 17:34:46 | 显示全部楼层
落叶知秋 发表于 2017-5-18 15:33
楼主确定方括号里面的不是宏定义?

如果是宏定义,那么那个结构体定义还有意义吗?这确实是同一个工程里面的代码。
发表于 2017-5-18 17:55:18 | 显示全部楼层
符号表

字数补丁
发表于 2017-5-18 17:57:52 | 显示全部楼层
duanzhijie 发表于 2017-5-18 17:34
如果是宏定义,那么那个结构体定义还有意义吗?这确实是同一个工程里面的代码。 ...

1.这是数组,并不是结构.
2.是不是宏,你可以搜一下怎么定义的嘛.
发表于 2017-5-18 17:59:30 | 显示全部楼层
宏定义是宏定义,结构体是结构体,各有各用处。

另,图片那样的定义顺序是没有错的,如果先定义了宏再定义结构体就会报错,编译器是VS的C++编译器。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2017-5-18 19:58:41 | 显示全部楼层

好像是你说的这样,能继续说说吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2017-5-18 20:06:40 来自手机 | 显示全部楼层
就是枚举,谭浩强书里有这个东西的经典例子。
 楼主| 发表于 2017-5-18 20:17:46 | 显示全部楼层
zcllom 发表于 2017-5-18 20:06
就是枚举,谭浩强书里有这个东西的经典例子。

谢谢回复!
发表于 2017-5-18 21:52:48 来自手机 | 显示全部楼层
这个是enum和struct的成员名字一样。单独用的时候,编译器当enum处理,因为直接写struct成员是非法的。如果没有定义enum一定会报错。这是作者故意这样写的,用起来方便。
发表于 2017-5-19 21:45:15 来自手机 | 显示全部楼层
枚举型也要先定义,后使用吧
发表于 2017-5-20 15:38:55 来自手机 | 显示全部楼层
wurst 发表于 2017-5-19 21:45
枚举型也要先定义,后使用吧

默认从0往后列
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|阿莫电子论坛(原ourAVR/ourDEV) ( 粤ICP备09047143号 )

GMT+8, 2017-7-29 00:57

阿莫电子论坛, 原"中国电子开发网"

© 2004-2016 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表