若有定义:int a[10],则对数组a元素的正确引用是?

A)a[10]B)a[3.5]C)a(5)D)a[10-10]请说明选择理由,谢谢了~那a[10-10]表示什么意思呢?... A)a[10] B)a[3.5] C)a(5) D)a[10-10]
请说明选择理由,谢谢了~
那a[10-10]表示什么意思呢?
展开
 我来答
Ch陈先生
高粉答主

2020-07-09 · 互联网新手写文章老手
Ch陈先生
采纳数:332 获赞数:140956

向TA提问 私信TA
展开全部

D。

a数组中包含有10个元素,并为这10个元素分配内存空间。

数组元素的一般形式为:数组名[下标]。其中的下标只能为整型常量或整型表达式。如为小数时,C编译将自动取整。例如,a[5],a[i+j],a[i++]都是合法的数组元素。数组元素通常也称为下标变量。总之数值在0到9之间,超过此范围则有误。

扩展资料:

C/C++里面的数组名字会退化为指针,所以数组名a实际指的是数组的第一个元素的地址。而数组名作为指针来讲有特殊性,它正在它所指向的内存区域中,&a的值和a的数值是相同的(可以输出观察一下),但是类型和意义不同。而指针的加法操作和指向的数据类型密切相关。

比如:

int a[10]; a就相当于int *,如果是对它加1(a + 1)是相当于a + 1 * sizeof(int)。但是&a的类型则相当于int **,是所谓指向数组的指针,是数组元素类型的二级指针,对它加1是相当于 &a + 1 * sizeof(a)的,所以会偏移一个数组长度。

参考资料来源:百度百科-数组

藏天地
2009-03-24 · TA获得超过663个赞
知道小有建树答主
回答量:137
采纳率:0%
帮助的人:0
展开全部
我昨天参加个公司的笔试就做过这个题,难道LZ.........
因为C语言规定对数组元素的引用下标是从0开始的,所以数组a[10]中,最多引用到a[9],a[10]就是越界了,所以A错
而下标应该用整型的,B错
下标运算符是[],NOT (),C错
就剩下D了,下标可以是表达式的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
春意盎然n
推荐于2017-11-27 · TA获得超过214个赞
知道答主
回答量:104
采纳率:0%
帮助的人:0
展开全部
选择:D
数组下标从0开以,最大下标是定义的数组长度-1
下标值不能是浮点数
只能是[]而不能是()
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式