C语言数组全面详细讲解
什么是数组?
在C语言中,数组是一种有序的数据集合。它是由相同类型的数据元素组成的。每个元素都可以通过它们的索引访问,索引是唯一的,范围从0到(数组大小-1)。
C语言中的数组可以包含多种数据类型,比如整型、浮点型、字符型等,这些数据类型都有对应的占位符,数组中每个元素的长度都是固定的,由编译器在编译时就确定了。
如何定义一个数组?
在C语言中使用数组,首先需要定义数组。数组的定义语法如下:
数据类型 数组名称[数组大小];
其中,数据类型是数组中元素的类型,数组名称是自定义的数组名称,数组大小表示数组中元素的个数。例如,定义一个包含10个整型元素的数组:
int my_array[10];
默认情况下,C语言中的数组索引从0开始。
如何对数组进行初始化?
定义数组之后,可以通过赋初值来初始化数组。有以下几种方式:
- 在定义数组的同时赋初值
int my_array[] = {0,1,2,3,4,5,6,7,8,9};
- 逐个赋初值
int my_array[10];
my_array[0] = 0;
my_array[1] = 1;
my_array[2] = 2;
my_array[3] = 3;
my_array[4] = 4;
my_array[5] = 5;
my_array[6] = 6;
my_array[7] = 7;
my_array[8] = 8;
my_array[9] = 9;
- 使用循环赋初值
int my_array[10];
for (int i=0; i<10; i++){
my_array[i] = i;
}
以上三种方式都呈现出未初始化的数组。那么在程序中读取未初始化的元素的值会是什么呢?答案是未知的,C语言并不会对未初始化的元素进行默认初始化,只有对元素赋过初值后才能读取其值。
数组中的元素如何访问?
数组中的元素可以通过索引进行访问,数组索引从0开始。例如,想要访问my_array中的第3个元素,可以使用以下方式:
int my_array[10] = {0,1,2,3,4,5,6,7,8,9};
int third_element = my_array[2]; // 注意索引是从0开始的,3-1 = 2
这将让third_element变量的值变为2(my_array中第3个元素的值)。
多维数组是什么?
多维数组是指数组的数组,也可以看做是多个一维数组组成的二维数组、三维数组、四维数组等等。
在定义多维数组时,要注意每个维度的数量以及每个元素的类型。例如,定义一个二维数组:
int my_2d_array[3][3] = {
{1,2,3},
{4,5,6},
{7,8,9}
};
多维数组元素的访问方式是什么?
访问多维数组的元素,需要用到行和列两个索引值。例如,获取my_2d_array中的第3行第2列元素:
int my_2d_array[3][3] = {
{1,2,3},
{4,5,6},
{7,8,9}
};
int element = my_2d_array[2][1]; // 注意索引是从0开始的,3-1 = 2和2-1=1
上述代码将让element变量的值变为8。
案例1:求一个整型数组元素的和
下面是一个使用for循环语句对一个整型数组my_array中的元素求和的示例:
int my_array[] = {0,1,2,3,4,5,6,7,8,9};
int sum = 0;
for (int i=0; i<10; i++){
sum += my_array[i];
}
以下是完整的程序代码:
#include <stdio.h>
int main() {
int my_array[] = {0,1,2,3,4,5,6,7,8,9};
int sum = 0;
for (int i=0; i<10; i++){
sum += my_array[i];
}
printf("数组元素之和为:%d\n", sum);
return 0;
}
输出结果:
数组元素之和为:45
案例2:求一个二维数组中所有元素的平均值
下面是一个使用for循环语句对一个二维数组my_2d_array中的元素求平均值的示例:
int my_2d_array[3][3] = {
{1,2,3},
{4,5,6},
{7,8,9}
};
int count = 0;
int sum = 0;
for (int i=0; i<3; i++){
for (int j=0; j<3; j++){
sum += my_2d_array[i][j];
count++;
}
}
float average = (float)sum / count;
以下是完整的程序代码:
#include <stdio.h>
int main() {
int my_2d_array[3][3] = {
{1,2,3},
{4,5,6},
{7,8,9}
};
int count = 0;
int sum = 0;
for (int i=0; i<3; i++){
for (int j=0; j<3; j++){
sum += my_2d_array[i][j];
count++;
}
}
float average = (float)sum / count;
printf("二维数组元素的平均值为:%.2f\n", average);
return 0;
}
输出结果:
二维数组元素的平均值为:5.00
以上就是关于C语言数组的全面详细讲解,包括数组的定义、初始化、访问方式、多维数组等方面的内容。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言数组全面详细讲解 - Python技术站