C 语言数组
C 标准库
C 语言数组
在本教程中,您将学习如何使用数组。您将借助示例学习如何声明,初始化和访问数组的元素。
数组是可以存储多个值的变量。例如,如果要存储100个整数,则可以为其创建一个数组。
示例int data[100];如何声明数组?dataType arrayName[arraySize];例如,
float mark[5];在这里,我们声明了一个浮点类型的数组mark。其大小为5。意味着,它可以容纳5个浮点值。
需要注意的是,数组的大小和类型一旦声明就不能更改。
访问数组元素您可以按索引访问数组的元素。
假设您如上所述声明了一个数组mark。第一个元素是mark[0],第二个元素是mark[1],依此类推。
说明:数组的第一个索引为0,而不是1。在此示例中,数组为第mark[0]一个元素。
如果数组的大小为,则要n访问最后一个元素,n-1则使用索引。在这个实例中mark[4]
假设的起始地址mark[0]是2120d。然后,的地址mark[1]将为2124d。同样,地址mark[2]将是2128d等。
这是因为a的大小float是4个字节。
如何初始化数组?在声明期间可以初始化数组。例如,
示例int mark[5] = {19, 10, 8, 17, 9};您也可以像这样初始化一个数组。
示例int mark[] = {19, 10, 8, 17, 9};在这里,我们没有指定大小。但是,当我们使用5个元素进行初始化时,编译器知道其大小为5。
这里,
mark[0] 等于 19
mark[1] 等于 10
mark[2] 等于 8
mark[3] 等于 17
mark[4] 等于 9更改数组元素的值示例int mark[5] = {19, 10, 8, 17, 9}
//使第三个元素的值为-1
mark[2] = -1;
//使第五个元素的值为0
mark[4] = 0;输入和输出数组元素这是如何从用户那里获取输入并将其存储在数组元素中的方法。
// 获取输入并将其存储在第三个元素中
scanf("%d", &mark[2]);
// 把输入存储在第i个元素中
scanf("%d", &mark[i-1]);这是打印数组单个元素的方法。
示例//打印数组的第一个元素
printf("%d", mark[0]);
//打印数组的第三个元素
printf("%d", mark[2]);
//打印数组的第i个元素
printf("%d", mark[i-1]);示例1:数组输入/输出//程序从用户那里获取5个值并将它们存储在数组中
//打印存储在数组中的元素
#include
int main() {
int values[5];
printf("输入5个整数: ");
//接受输入并将其存储在数组中
for(int i = 0; i < 5; ++i) {
scanf("%d", &values[i]);
}
printf("显示整数: ");
//打印数组的元素
for(int i = 0; i < 5; ++i) {
printf("%d\n", values[i]);
}
return 0;
}输出结果
输入5个整数: 1
-3
34
0
3
显示整数: 1
-3
34
0
3在这里,我们使用了一个 for循环,来从用户那里获取5个输入的数值,并将它们存储在一个数组中。然后,使用另一个 for循环,这些元素显示在屏幕上。
示例2:计算平均值示例//程序使用数组查找n个数字的平均值
#include
int main()
{
int marks[10], i, n, sum = 0, average;
printf("输入元素数量: ");
scanf("%d", &n);
for(i=0; i { printf("输入数字%d: ",i+1); scanf("%d", &marks[i]); //将用户输入的整数添加到sum变量 sum += marks[i]; } average = sum/n; printf("平均值 = %d", average); return 0; }输出结果 输入元素数量: 5 输入数字1: 45 输入数字2: 35 输入数字3: 38 输入数字4: 31 输入数字5: 49 平均值 = 39在这里,我们计算了用户输入的n个数字的平均值。 访问元素超出范围!假设您声明了一个由10个元素组成的数组。比方说 int testArray[10];您可以访问数组元素 testArray[0] - testArray[9]。 现在,假设您尝试访问testArray[12]。该元素不可用。这可能会导致意外输出(抛出错误)。 因此,永远不要访问数组边界之外的元素。 多维数组在本教程中,您了解了数组。这些数组称为一维数组。 在下一个教程中,您将学习多维数组(数组的数组)。 C 标准库