多维数组
本课属于 Coddy C 学习旅程的“基础知识”单元。第 56 课,共 63 课。
多维数组是由数组组成的数组。在 C 语言中,你可以创建二维数组(最常见的多维数组),本质上就是一个由行和列组成的表。
声明一个二维数组:
int matrix[3][4];这会创建一个有 3 行 4 列的二维数组。
你可以在声明二维数组时对其进行初始化:
int matrix[3][4] = {
{1, 2, 3, 4}, // 第一行
{5, 6, 7, 8}, // 第二行
{9, 10, 11, 12} // 第三行
};要访问二维数组中的元素,请使用两个索引:
int value = matrix[1][2]; // 访问第 1 行、第 2 列(值为 7)要修改二维数组中的元素:
matrix[0][3] = 100; // 将第 0 行、第 3 列的元素改为 100你也可以使用嵌套循环访问二维数组中的所有元素:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n"); // 每行后换行
}挑战
简单创建一个名为 printDiagonal 的函数,它接收一个二维方阵(行数等于列数),并打印主对角线(从左上角到右下角)上的元素。
这个函数应该:
- 将一个整数数组及其大小作为参数。
- 打印主对角线上的每个元素(行索引等于列索引)。
- 用空格分隔每个元素。
例如,给定数组:
1 2 3 4 5 6 7 8 9
函数应该打印:1 5 9
亲手试试
#include <stdio.h>
// 用于打印方阵对角线元素的函数
void printDiagonal(int matrix[][100], int size) {
// 在这里编写你的代码
}
int main() {
int size;
scanf("%d", &size);
int matrix[100][100];
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
scanf("%d", &matrix[i][j]);
}
}
printDiagonal(matrix, size);
return 0;
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: C 在线编译器