作业帮 > 综合 > 作业

C语言数组:a[0]到a[5]之间元素个数为什么是5个?

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/04/30 02:49:34
C语言数组:a[0]到a[5]之间元素个数为什么是5个?
C语言数组:a[0]到a[5]之间元素个数为什么是5个?
因为元素个数从数组的下标a[0]开始算咯
例如你定义一个一维数组a[5]={1,2,3,4,5}
a[5]是一个有5个元素的一位数组!
分别为a[0]=1 a[1]=2 a[2]=3 a[3]=4 a[4]=5 这时如果多出一个a[5]的话,就会溢出,因为你只定义了一个5个元素的一位数组,并没有第六个元素!
不知道你能理解么?
再问: 这个我知道,其实是这样一个问题: 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!