다차원 배열
Coddy C 여정의 기초 섹션에 포함된 레슨. 63개 중 56번째.
다차원 배열은 배열의 배열입니다. C에서는 2차원 배열(가장 일반적인 다차원 배열)을 만들 수 있으며, 기본적으로 행과 열로 이루어진 표입니다.
2차원 배열을 선언합니다:
int matrix[3][4];이렇게 하면 3개의 행과 4개의 열이 있는 2차원 배열이 생성됩니다.
2차원 배열을 선언할 때 초기화할 수 있습니다:
int matrix[3][4] = {
{1, 2, 3, 4}, // 첫 번째 행
{5, 6, 7, 8}, // 두 번째 행
{9, 10, 11, 12} // 세 번째 행
};2차원 배열의 요소에 접근하려면 두 개의 인덱스를 사용하세요:
int value = matrix[1][2]; // 1행 2열에 접근합니다 (값은 7이 됩니다)2차원 배열에서 element를 수정하려면:
matrix[0][3] = 100; // 행 0, 열 3의 요소를 100으로 변경합니다2D 배열의 모든 요소에 액세스하기 위해 중첩 루프를 사용할 수도 있습니다:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n"); // 각 행 뒤에 새 줄
}챌린지
쉬움printDiagonal이라는 함수를 작성하세요. 이 함수는 2D 정사각형 배열(행의 수와 열의 수가 같은 배열)을 받아 주 대각선(왼쪽 위에서 오른쪽 아래 방향)에 있는 요소를 출력해야 합니다.
함수는 다음을 수행해야 합니다.
- 정수 배열과 그 크기를 매개변수로 받습니다.
- 주 대각선(행 인덱스와 열 인덱스가 같은 위치)에 있는 각 요소를 출력합니다.
- 각 요소를 공백으로 구분합니다.
예를 들어, 다음 배열이 주어졌을 때:
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 컴파일러