c语言中数组的下标从什么开始?
16lz
2021-01-22
c语言中数组的下标从0开始。因为如果数组元素下标从1开始,每次计算地址时,需要多做一次减法操作。所以,为了提高效率,C语言数组元素下标从0开始。
c语言中数组的下标从0开始。
数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起。数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。
例如:a[0]就表示名字为a的数组中的第一个元素。
那么,C语言中数组的元素下标为什么从0开始,而不是从1开始
当数组元素下标从0开始时,每个元素的地址计算如下:
第0个元素地址:首地址 (首地址 + 0*4)
第1个元素地址:首地址 + 1*4
第2个元素地址:首地址 + 2*4
第i个元素地址:首地址 + i*4
当数组元素下标从1开始时,每个元素的地址计算如下:
第1个元素地址:首地址
第2个元素地址:首地址 +(2-1)*4
第3个元素地址:首地址 +(3-1)*4
…
第i个元素地址:首地址 +(i-1)*4
很明显,如果数组元素下标从1开始,每次计算地址时,需要多做一次减法操作。因此,为了提高效率,C语言数组元素下标从0开始。C语言的高效率就是体现在这些点点滴滴中的,需要在学习中慢慢体会!
相关推荐:《c语言教程》
更多相关文章
- 在c语言中,引用数组元素时,其数组下标的数据类型允许是什么?
- 在c语言中引用数组元素时,其数组下标的数据类型允许是什么
- golang slice检查元素是否存在
- golang map无法删除元素吗
- 关于golang中无法获取地址问题的解析
- golang如何删除数组中的元素
- 关于go值传递和地址传递的例子
- php操作xml入门之xml基本介绍及xml标签元素
- XML指南——XML元素