鱼C论坛

 找回密码
 立即注册
查看: 1954|回复: 6

[已解决]有个数组的问题

[复制链接]
发表于 2021-8-20 15:21:43 | 显示全部楼层 |阅读模式
45鱼币
本帖最后由 qiu064987 于 2021-8-20 15:26 编辑
int a[10] = {10}
这是初始化第一个元素的地址,后面的值也都赋值为0;
int a[10];
a[10] = {0};
这是数组越界报错,
那么为什么?
int a[10];
a[9] = {0};
也报错啊!a[9] = 0;就可以,是涉及指针吗?数组名的是一个地址信息,是第一个元素的地址,因此{0}赋值给了第一个元素的地址,那么a[9]也是一个地址啊,不是也可以用{0}赋值给它
最佳答案
2021-8-20 15:21:44
本帖最后由 小小的窝 于 2021-8-20 16:41 编辑

iint a[10] = {10}就相当于int a[10] = {10,0,0,0,0,0,0,0,0,0};这里的a[10]指的是一个数组,它可以被看作是一个首地址,{10}或者说{10,0,0,0,0,0,0,0,0,0}也是数组,而a[9] = {0};这里的a[9]是数组里的一个元素,也是一个变量,它不应该被看作是地址,而{0}还是一个数组,就相当于用数组给一个变量赋值,所以会报错

最佳答案

查看完整内容

iint a[10] = {10}就相当于int a[10] = {10,0,0,0,0,0,0,0,0,0};这里的a[10]指的是一个数组,它可以被看作是一个首地址,{10}或者说{10,0,0,0,0,0,0,0,0,0}也是数组,而a[9] = {0};这里的a[9]是数组里的一个元素,也是一个变量,它不应该被看作是地址,而{0}还是一个数组,就相当于用数组给一个变量赋值,所以会报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-20 15:21:44 | 显示全部楼层    本楼为最佳答案   
本帖最后由 小小的窝 于 2021-8-20 16:41 编辑

iint a[10] = {10}就相当于int a[10] = {10,0,0,0,0,0,0,0,0,0};这里的a[10]指的是一个数组,它可以被看作是一个首地址,{10}或者说{10,0,0,0,0,0,0,0,0,0}也是数组,而a[9] = {0};这里的a[9]是数组里的一个元素,也是一个变量,它不应该被看作是地址,而{0}还是一个数组,就相当于用数组给一个变量赋值,所以会报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-20 15:41:32 From FishC Mobile | 显示全部楼层
a[9] = {0};这样的语句只能在初始化时使用,赋值时使用会报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-20 15:44:05 | 显示全部楼层
数组的下标是从 0 开始的,
int a[10]; 其实最大的是a[9],
而且 int a[10] = {10},就只是 a[0] = 10,其他都为0
好像声明的时候就要赋值了,如果后面 a[10] = {0}; 会报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-20 20:56:43 | 显示全部楼层
你初始化时才能用{} 赋值 默认为0

而你
a[9] 是个整型  赋值号右侧也只能是整型 不能{}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-22 08:04:32 | 显示全部楼层
赋值时只能从a[0]到a[9]共十个数,没有a[10],即使赋成0也不行。刚开始声明变量时才可以用a[10]={10}。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-23 11:28:10 | 显示全部楼层
初始化时的a[10],表示a的长度为10,非初始化的时候a[10]表示a的第11个数据,但int a[10]这个数组只有a[0]~a[9]这10个数,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 14:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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