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语言教程》

更多相关文章

  1. 在c语言中,引用数组元素时,其数组下标的数据类型允许是什么?
  2. 在c语言中引用数组元素时,其数组下标的数据类型允许是什么
  3. golang slice检查元素是否存在
  4. golang map无法删除元素吗
  5. 关于golang中无法获取地址问题的解析
  6. golang如何删除数组中的元素
  7. 关于go值传递和地址传递的例子
  8. php操作xml入门之xml基本介绍及xml标签元素
  9. XML指南——XML元素

随机推荐

  1. android中ui添加水平线
  2. 开始ANDROID的学习
  3. 小程序分享到朋友圈功能灰度测试!5 个小程
  4. android关于getLayoutParams()方法源码译
  5. Android 新建Android Project不会自动生
  6. Android之android:gravity和android:layo
  7. Android之自定义View
  8. [Android] Android中Timer的用法
  9. Android下3D的学习
  10. Android 网格视图(GirdView)简易适配器的使