2 차원 배열 요소 접근
이 단계에서는 C 언어에서 인덱싱과 중첩 루프를 사용하여 2 차원 배열의 개별 요소에 접근하는 방법을 배우게 됩니다.
요소 접근을 시연하기 위해 이전 파일을 업데이트해 보겠습니다.
다음 코드를 추가하여 배열 요소에 접근하는 다양한 방법을 살펴보세요.
#include <stdio.h>
int main() {
// 3x4 학생 성적 배열 생성
int grades[3][4] = {
{85, 92, 78, 90}, // 첫 번째 학생의 성적
{76, 88, 95, 82}, // 두 번째 학생의 성적
{63, 71, 89, 93} // 세 번째 학생의 성적
};
// 방법 1: 직접 요소 접근
printf("첫 번째 학생의 첫 번째 성적: %d\n", grades[0][0]);
printf("두 번째 학생의 세 번째 성적: %d\n", grades[1][2]);
// 방법 2: 중첩 루프를 사용하여 요소 접근
printf("\n중첩 루프를 사용한 모든 성적:\n");
for (int student = 0; student < 3; student++) {
for (int subject = 0; subject < 4; subject++) {
printf("학생 %d, 과목 %d: %d\n",
student + 1, subject + 1, grades[student][subject]);
}
}
// 방법 3: 배열 요소 수정
grades[2][3] = 95; // 세 번째 학생의 마지막 성적 업데이트
printf("\n업데이트된 세 번째 학생의 마지막 성적: %d\n", grades[2][3]);
return 0;
}
프로그램을 컴파일하고 실행합니다.
gcc two_dimensional_arrays.c -o two_dimensional_arrays
./two_dimensional_arrays
예시 출력:
First student's first grade: 85
Second student's third grade: 95
All grades using nested loops:
Student 1, Subject 1: 85
Student 1, Subject 2: 92
Student 1, Subject 3: 78
Student 1, Subject 4: 90
Student 2, Subject 1: 76
Student 2, Subject 2: 88
Student 2, Subject 3: 95
Student 2, Subject 4: 82
Student 3, Subject 1: 63
Student 3, Subject 2: 71
Student 3, Subject 3: 89
Student 3, Subject 4: 95
Updated third student's last grade: 95
2 차원 배열 요소 접근에 대한 주요 사항:
- 두 개의 인덱스 사용:
array[row][column]
- 첫 번째 인덱스는 행 (세로) 을 나타냅니다.
- 두 번째 인덱스는 열 (가로) 을 나타냅니다.
- 인덱싱은 0 부터 시작합니다.
- 중첩 루프는 전체 배열을 순회하는 데 유용합니다.
- 개별 요소를 직접 읽고 수정할 수 있습니다.