关于struct的定义
在struct里定义char 类型必须用数组形式吗?
char name[20]能不能改成char name?
不能的话存在什么错误?
为什么下面定义的int类型的atk和price没有写成atk[20]和price[20]?
在struct里定义char 类型必须用数组形式吗?
char name[20]能不能改成char name?
不能的话存在什么错误?
为什么下面定义的int类型的atk和price没有写成atk[20]和price[20]?
2017-03-24
首先char name[20]应该不可以改成char name。然后,char定义字符类型的数据占1个字节,int定义整型数据占2个字节。我猜,char name[20]的最后一个地址应该是int atk 数据存放的上一个地址,为防止名字过长溢出,影响到后面int atk里存放的数据,所以给char name 加上[20]。最后,没有给int atk和int price加上长度限制是因为int的声明已经足够存放数据所以不用加[]。我想其实应该是可以给int atk 和int price加长度限制的,这里面的一些原理我没懂得很透彻,所以只能帮你到这里了~~不知道对错,请后面看到的人指点,这只是本人一点浅薄的看法~抛砖引玉用~
举报