第二:定义数组的是时候下标是代表数组的长度,比如
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
下标可以是变量 也可以是常量。直接说a[0],a[1],a[2],a[3]这样的下标就是常量。对于访问来说, 不在意是变量还是常量, 系统只是需要一个值, 作为偏移量
不管是变量还是常量, 访问的时候 肯定是一个特定值, 而系统要的 无非是这样一个偏移量而已。
C语言数组的下标只能是合法的整型值。当下标为字符时,有两种可能:
1
以字符常量作为下标。如a['A']表示'A'的ascii码对应的数组偏移量。在实际应用中不常见,但是从语法上来说是合法的。
2
字符本身为变量。如
int
i
int
a[100]
for(i
=
0
i
<
100
i
++)
printf("%d\n",
a[i])
这里的a[i],下标就是i,本质上i是一个变量,访问的时候是根据变量值进行访问对应元素的。