当我们需要存储一组相同类型的数据时,C语言中的数组就是一个非常好的选择。数组可以存储基本类型、结构体、指针等数据类型。本文将详细介绍 C 数组的定义、初始化、访问和常用操作。
定义和初始化数组
C语言中定义一个数组有三个关键字:类型、数组名和数组大小。通常,数组定义的格式如下:
type arrayName [ arraySize ];
其中,type
表示数组元素的类型,arrayName
代表数组的名称,arraySize
是可选项,表示数组的大小。
定义数组后,我们需要为其分配内存空间,即初始化数组。我们可以在定义数组时,初始化数组的值。分为显式数组初始化和隐式数组初始化。
显式数组初始化
显式初始化是指在定义数组时,直接为其成员赋值,例如:
int nums[5] = {1, 2, 3, 4, 5};
以上代码定义了一个大小为5的整型数组,并初始化为1,2,3,4, 5。
隐式数组初始化
隐式初始化是指在定义数组时,不对其进行显式赋值,例如:
int nums[5];
此时数组成员的值并没有确定,可以通过循环等方式为其赋值,例如:
for (int i = 0; i < 5; i++) {
nums[i] = i + 1;
}
访问和操作数组
访问数组元素
我们可以使用下标操作符 []
来访问数组的元素。数组下标是从0开始的,例如:
int nums[3] = {1, 2, 3};
int firstNum = nums[0]; // 访问第一个元素,值为1
数组元素遍历
遍历整个数组,可以使用for循环,例如:
int nums[3] = {1, 2, 3};
for (int i = 0; i < sizeof(nums) / sizeof(int); i++) {
printf("%d", nums[i]);
}
输出结果为:123
获取数组长度
为了方便操作,我们需要知道数组的长度。在C语言中,可以使用以下方法获得数组的长度:
int nums[3] = {1, 2, 3};
int len = sizeof(nums) / sizeof(int);
printf("%d", len);
输出结果为:3
多维数组
除了一位数组,C语言还支持多维数组(二维、三维、n维等)。多维数组在内存中存储是连续的,例如:
int nums[2][3] = {
{1, 2, 3},
{4, 5, 6}
};
我们可以使用两个for循环来遍历整个多维数组,例如:
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
printf("%d", nums[i][j]);
}
}
输出结果为:123456
实例
下面是两个实例演示了 C 数组的使用。
实例1:计算数组中的元素之和
#include <stdio.h>
int main() {
int nums[5] = {1, 2, 3, 4, 5};
int sum = 0;
for (int i = 0; i < sizeof(nums) / sizeof(int); i++) {
sum += nums[i];
}
printf("数组元素之和为:%d", sum);
return 0;
}
输出结果为:数组元素之和为:15
实例2:矩阵转置
#include <stdio.h>
#define MATRIX_SIZE 3
void transpose(int matrix[MATRIX_SIZE][MATRIX_SIZE]) {
for (int i = 0; i < MATRIX_SIZE; i++) {
for (int j = i + 1; j < MATRIX_SIZE; j++) {
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
}
void printMatrix(int matrix[MATRIX_SIZE][MATRIX_SIZE]) {
for (int i = 0; i < MATRIX_SIZE; i++) {
for (int j = 0; j < MATRIX_SIZE; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
int main() {
int matrix[MATRIX_SIZE][MATRIX_SIZE] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9},
};
printf("原矩阵:\n");
printMatrix(matrix);
transpose(matrix);
printf("转置后的矩阵:\n");
printMatrix(matrix);
return 0;
}
输出结果为:
原矩阵:
1 2 3
4 5 6
7 8 9
转置后的矩阵:
1 4 7
2 5 8
3 6 9
以上就是 C 数组的使用攻略,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C 数组 - Python技术站