C语言数组的介绍
数组是一个存储多个值的变量。
在C语言中,数组中的每个值都必须具有相同的类型。这意味着你会有int 值的数组,double 值的数组,以及更多。
你可以这样定义一个int 值的数组。
你必须始终指定数组的大小。C语言不提供开箱即用的动态数组(你必须使用像链接列表这样的数据结构)。
你可以用一个常数来定义大小。
const int SIZE = 5;
int prices[SIZE];
你可以在定义时初始化一个数组,像这样。
int prices[5] = { 1, 2, 3, 4, 5 };
但你也可以在定义后赋值,像这样。
int prices[5];
prices[0] = 1;
prices[1] = 2;
prices[2] = 3;
prices[3] = 4;
prices[4] = 5;
或者,更实用的是,使用一个循环。
int prices[5];
for (int i = 0; i < 5; i++) {
prices[i] = i + 1;
}
而且你可以通过在数组变量名后面使用方括号来引用数组中的一个项,加入一个整数来确定索引值。像这样。
prices[0]; /* array item value: 1 */
prices[1]; /* array item value: 2 */
数组索引从0开始,所以一个有5个项目的数组,如上面的prices 数组,将有从prices[0] 到prices[4] 的项目。
关于C语言数组的有趣之处在于,数组的变量名,即上面例子中的prices ,是一个指向数组第一个元素的指针,因此可以像普通指针一样使用。
另一个有趣的事情是:数组的所有元素都是按顺序存储在内存中的,一个紧接着一个,所以你可以使用指针数学来访问任何项目。这在高级编程语言中通常不会发生。