duanzhijie 发表于 2017-5-18 15:11:49

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

本帖最后由 duanzhijie 于 2017-5-18 20:00 编辑

定义一个数组后,使用数组时为什么可以在数组方括号里面,不用0,1、2、3,而用了别的名字??

duanzhijie 发表于 2017-5-18 20:15:47

本帖最后由 duanzhijie 于 2017-5-18 20:16 编辑

xie010101 发表于 2017-5-18 15:11
enum枚举型

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

duanzhijie 发表于 2017-5-18 15:14:16

我添加了图片了,但是好像图片没显示

落叶知秋 发表于 2017-5-18 15:33:50

楼主确定方括号里面的不是宏定义?

huali8412 发表于 2017-5-18 15:37:24

方括号里面的是一个已经赋值的常量,应该在某个特定的地方已经初始化了

gmajvfhpa 发表于 2017-5-18 15:56:45

方括号内是宏,编译器在编译时会用数字来替代。

zhugean 发表于 2017-5-18 16:02:27

u16 a;
u8 i;
for(i=0; i<4; i++)
{
    a = 0;
}
正常吧。
把 u8 i;改成float name;下面的i都改成 name,也是一样的,只是多了一个默认的强制类型装换float =》 int

duanzhijie 发表于 2017-5-18 17:34:46

落叶知秋 发表于 2017-5-18 15:33
楼主确定方括号里面的不是宏定义?

如果是宏定义,那么那个结构体定义还有意义吗?这确实是同一个工程里面的代码。

eduhf_123 发表于 2017-5-18 17:55:18

符号表

字数补丁

xie010101 发表于 2017-5-18 15:11:50

enum枚举型

hyz_avr 发表于 2017-5-18 17:57:52

duanzhijie 发表于 2017-5-18 17:34
如果是宏定义,那么那个结构体定义还有意义吗?这确实是同一个工程里面的代码。 ...

1.这是数组,并不是结构.
2.是不是宏,你可以搜一下怎么定义的嘛.

落叶知秋 发表于 2017-5-18 17:59:30

宏定义是宏定义,结构体是结构体,各有各用处。

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

duanzhijie 发表于 2017-5-18 19:58:41

xie010101 发表于 2017-5-18 17:56
enum枚举型

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

zcllom 发表于 2017-5-18 20:06:40

就是枚举,谭浩强书里有这个东西的经典例子。

duanzhijie 发表于 2017-5-18 20:17:46

zcllom 发表于 2017-5-18 20:06
就是枚举,谭浩强书里有这个东西的经典例子。

谢谢回复!

sbusr 发表于 2017-5-18 21:52:48

这个是enum和struct的成员名字一样。单独用的时候,编译器当enum处理,因为直接写struct成员是非法的。如果没有定义enum一定会报错。这是作者故意这样写的,用起来方便。

wurst 发表于 2017-5-19 21:45:15

枚举型也要先定义,后使用吧

huangqi412 发表于 2017-5-20 15:38:55

wurst 发表于 2017-5-19 21:45
枚举型也要先定义,后使用吧

默认从0往后列
页: [1]
查看完整版本: 定义一个数组后,使用数组时为什么可以在数组方括号里...