A,C元素p是什么元素,A为什么对

C语言数组:a[0]到a[5]之间元素个数为什么是5个?_百度知道
C语言数组:a[0]到a[5]之间元素个数为什么是5个?
我有更好的答案
4,因为你只定义了一个5个元素的一位数组,并没有第六个元素因为元素个数从数组的下标a[0]开始算咯例如你定义一个一维数组a[5]={1,3,5}解释:a[5]是一个有5个元素的一位数组!分别为a[0]=1
这时如果多出一个a[5]的话,就会溢出!不知道你能理解么?希望帮助到你,2
这个我知道,其实是这样一个问题:int a[10],*p1,*p2;p1=&a[0];p2=&a[5];问p2-p1的值是?(答案说结果为a[5]与a[0]之间元素的个数,为5)为什么是5呢唉!手机打的真累
因为数组是连续存储的,是一个连续的存储单元!你这个其实可以理解为是地址的相减,因为p1保存了数组第1个元素a[0]的地址,p2保存了第6个元素a[5]的地址,然后他们相减,所以可以通俗的理解为,6-1=5!
采纳率:66%
来自团队:
比如:int a[5];那么数组的第一个元素是a[0]1、在C语言中数组的下标是从0开始的,一般情况下a[5]是不用的,但是现在的编译器你用a[5]也不会报错2、对于C语言编程来说,出现的次数最多最频繁的一个错误就是内存错误,即引用一下不知道地址的内存,尤其是随着学习的深入要用到指针,或者跟复杂的结构
看一下我对另一个的追问,手机打了一边复制不了
哥和你说说啊。其实a[0]到a[5]这里是6个。我知道你是想问。假如你定义了一个int
a[5];然后为什么是5个你的理解认为应该是a[0]`````a[5]是吧!其实,int a[5];这样声明后。实际上运用的时候,直接从a[0]开始然后,到a[4]截止。没有a[5]哦。呵呵。a[5]已经溢出,会出问题的哦。
看一下我对另一个的追问,手机打了一边复制不了
其实就是地址p指向地址a[0]其实就是p+0;你的a[5]就是p+5(p+5)-(p+0)就是5啊
是6个,a[0],a[1],a[2],a[3],a[4],a[5]
int a[5];其实是a[0] ~ a[4],没有a[5]的。
其他1条回答
为您推荐:
其他类似问题
c语言数组的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。拒绝访问 | www.gkstk.com | 百度云加速
请打开cookies.
此网站 (www.gkstk.com) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(406d87de-ua98).
重新安装浏览器,或使用别的浏览器}

我要回帖

更多关于 nb是什么元素 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信