本文目录一览:
C语言数组下标
下标可以是变量 也可以是常量。直接说a[0],a[1],a[2],a[3]这样的下标就是常量。
对于访问来说, 不在意是变量还是常量, 系统只是需要一个值, 作为偏移量
不管是变量还是常量, 访问的时候 肯定是一个特定值, 而系统要的 无非是这样一个偏移量而已。
C语言数组的下标
第一:下标是用在数组中的;
第二:定义数组的是时候下标是代表数组的长度,比如
int
a[5];就是定义一个长度为5的存放整型的数组,数组就是集合,数组a有5个元素,即a[0],a[1],a[2],a[3],a[4],
一共5个元素,此时下标就是第几个元素的意思。
例子如下:
int
a[5]
=
{1,2,3,4,5};
printf("%d,%d,%d,%d,%d",
a[0],a[1],a[2],a[3],a[4]);
//会输出1,2,3,4,5
a[0]
=
10;
printf("%d",
a[0]);
//输出10
C语言数组如 何定义起始下标 是不是若不定义一般起始下标都是从0开始计数的?
不论在任何编程语言,如果没有定义起始下标默认都是从0开始
在C语言中不能自定义起始下标,要想下标与数组元素的序号一一对应只能舍弃第一个存储空间。
例如 你想要一个能存储4个元素的数组,并且要下标和元素序号一一对应,就定义int a[5],a[0]不用,从a[1]开始使用,就能做到一一对应。
其他C语言的定义我不熟悉,不知道能不能自定义起始下标,但是VB里面是可以的:dim a[1 to N],N换成你想要的数字。
为什么在C语言定义数组时下标必须从零开始呢?
为了标新立异.
在C出现以前的流行语言,例如Fortran 从1开始,ALGOL可以自由定义下标从几开始.
C语言定义从零开始.
从零开始对使用者来说没有自由定义好,但编译器设计简单.省事.