<aside>

강의 목표:

C언어의 배열과 메모리 할당 함수(malloc, calloc)를 이해하고,

이를 활용하여 프로그래밍 문제를 해결할 수 있다.

</aside>


1. 배열의 기본 개념

배열은 같은 데이터 타입의 변수들을 하나의 이름으로 묶어서 관리하는 데이터 구조입니다. 배열을 사용하면 여러 개의 변수들을 하나의 변수명으로 다룰 수 있어 코드가 간결하고 관리하기 쉬워집니다.

1.1. 1차원 배열

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;
}

설명:

1.2. 2차원 배열

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;
}

설명: