<aside>
C언어의 배열과 메모리 할당 함수(malloc
, calloc
)를 이해하고,
이를 활용하여 프로그래밍 문제를 해결할 수 있다.
</aside>
배열은 같은 데이터 타입의 변수들을 하나의 이름으로 묶어서 관리하는 데이터 구조입니다. 배열을 사용하면 여러 개의 변수들을 하나의 변수명으로 다룰 수 있어 코드가 간결하고 관리하기 쉬워집니다.
1차원 배열은 단일 차원의 데이터들을 묶은 배열입니다. 예를 들어, 학생들의 점수를 관리한다고 할 때 각 점수를 1차원 배열로 저장할 수 있습니다.
예제:
#include <stdio.h>
int main() {
// 학생 5명의 점수를 저장하는 1차원 배열
int scores[5] = {80, 90, 85, 95, 88};
// 배열의 값을 출력
printf("학생들의 점수: \\n");
for(int i = 0; i < 5; i++) {
printf("학생 %d의 점수: %d\\n", i+1, scores[i]);
}
return 0;
}
설명:
int scores[5] = {80, 90, 85, 95, 88};
는 학생들의 점수를 배열에 저장합니다.for
문을 사용하여 배열의 각 원소를 출력합니다.i+1
을 사용하여 출력할 때 학생 번호를 1부터 시작하도록 했습니다.2차원 배열은 행과 열로 이루어진 배열입니다. 예를 들어, 3명의 학생이 2개의 과목에서 받은 점수를 저장하려면 2차원 배열을 사용합니다.
예제:
#include <stdio.h>
int main() {
// 3명의 학생과 2개의 과목의 점수를 저장하는 2차원 배열
int scores[3][2] = {{85, 90}, {88, 92}, {80, 85}};
// 배열의 값을 출력
printf("학생들의 과목별 점수: \\n");
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 2; j++) {
printf("학생 %d, 과목 %d: %d\\n", i+1, j+1, scores[i][j]);
}
}
return 0;
}
설명:
int scores[3][2]
는 3명의 학생이 2개의 과목에서 받은 점수를 저장하는 2차원 배열입니다.for
문을 사용하여 2차원 배열의 모든 값을 출력합니다.