易百教程

理解数组

数组是一系列相同类型的变量,例如:

  • 十几个int类型变量,
  • 两个或三个double类型变量,或
  • char字符串变量。

数组可声明为任何其他变量。
它给出了一个类型和一个名称,然后是一组方括号([])。以下语句声明了一个int类型的myVariable数组:

int myVariable[];

这个声明并不完整,编译器不知道数组中有多少项或元素。如果myVariable数组要包含三个元素,它将被声明为:

int myVariable[3];

该数组包含三个元素,每个元素都有自己的int值。这些元素的可通过以下方式赋值:

myVariable[0] = 750; 
myVariable[1] = 699; 
myVariable[2] = 675;

数组元素由其方括号中的索引号引用。第一项是索引0

在前面的示例中,第一个数组元素myVariable [0]被赋值为750; 第二个元素myVariable [1]被赋值为699; 第三个元素myVariable [0]被赋值为675
初始化后,使用数组变量,就像代码中的任何其他变量一样:

int var = 0;
var = myVariable[0];

该语句将数组元素myVariable [0]的值存储到变量var中。
如果myVariable [0]等于750,则在语句执行后,变量var等于750

示例代码

#include <stdio.h>

int main()
{
    int myVariable[4];

    printf("输入最高分数: ");
    scanf("%d",&myVariable[0]);
    printf("输入第二高分数: ");
    scanf("%d",&myVariable[1]);
    printf("输入第三高分数: ");
    scanf("%d",&myVariable[2]);
    printf("输入第四高分数: ");
    scanf("%d",&myVariable[3]);

    puts("下面是你输入的前四高分:\n");
    printf("#1 %d\n",myVariable[0]);
    printf("#2 %d\n",myVariable[1]);
    printf("#3 %d\n",myVariable[2]);
    printf("#4 %d\n",myVariable[3]);

    return(0);
}

执行上面示例代码,得到以下结果:

hema@ubuntu:~/book$ vi main.c
hema@ubuntu:~/book$ gcc main.c
hema@ubuntu:~/book$ ./a.out
输入最高分数: 99
输入第二高分数: 98
输入第三高分数: 96
输入第四高分数: 92
下面是你输入的前四高分:

#1 99
#2 98
#3 96
#4 92