본문 바로가기
C_language

c 언어 배열에 대해 알려줄께?

by 헬로제이콥 2024. 8. 27.

 

 

1. 배열

개념 설명

배열은 여러 개의 같은 종류 데이터를 저장하는 상자입니다. 상자는 인덱스(번호)로 구분할 수 있으며, 데이터를 순서대로 저장합니다.

  • 1차원 배열: 일렬로 나열된 상자입니다. 예를 들어, 여러 개의 사탕을 담는 봉지를 생각해보세요.
  • 2차원 배열: 상자들이 또 다른 상자에 들어 있는 형태입니다. 예를 들어, 여러 줄로 나열된 사탕 상자들을 생각할 수 있습니다.

1차원 배열 예제

#include <stdio.h>

int main() {
    int numbers[5] = {10, 20, 30, 40, 50}; // 5개의 정수를 저장할 수 있는 배열입니다.

    // 배열의 각 원소를 출력합니다.
    for (int i = 0; i < 5; i++) {
        printf("Number[%d] = %d\n", i, numbers[i]);
    }

    return 0;
}
  • 위의 예제에서 numbers는 5개의 정수를 저장하는 배열입니다.
  • for 반복문을 사용하여 배열의 각 원소를 출력합니다.

 

2차원 배열 예제

#include <stdio.h>

int main() {
    int matrix[2][3] = {
        {1, 2, 3}, // 첫 번째 행
        {4, 5, 6}  // 두 번째 행
    };

    // 2차원 배열의 각 원소를 출력합니다.
    for (int i = 0; i < 2; i++) { // 행
        for (int j = 0; j < 3; j++) { // 열
            printf("Matrix[%d][%d] = %d\n", i, j, matrix[i][j]);
        }
    }

    return 0;
}
  • matrix는 2개의 행과 3개의 열을 가진 2차원 배열입니다.
  • 두 개의 for 반복문을 사용하여 배열의 각 원소를 출력합니다.

 

2. 배열을 사용한 반복문

배열을 사용할 때 반복문을 사용하여 각 원소를 처리할 수 있습니다. 위의 예제들에서도 배열을 반복문으로 출력했습니다.

1차원 배열을 사용한 반복문 예제

#include <stdio.h>

int main() {
    int scores[4] = {90, 80, 70, 60};

    // 배열의 각 원소를 출력합니다.
    for (int i = 0; i < 4; i++) {
        printf("Score[%d] = %d\n", i, scores[i]);
    }

    return 0;
}
  • scores 배열에 저장된 네 개의 점수를 출력합니다.

 

 

3. 문자열

개념 설명

문자열은 문자들이 나란히 배열된 것입니다. 예를 들어, "Hello"는 문자들이 일렬로 나열된 문자열입니다.

문자열 예제

#include <stdio.h>

int main() {
    char greeting[] = "Hello, World!"; // 문자열을 저장하는 배열입니다.

    // 문자열을 출력합니다.
    printf("%s\n", greeting);

    // 문자열의 각 문자를 출력합니다.
    for (int i = 0; greeting[i] != '\0'; i++) { // '\0'은 문자열의 끝을 나타냅니다.
        printf("Character[%d] = %c\n", i, greeting[i]);
    }

    return 0;
}
  • greeting은 문자열 "Hello, World!"를 저장하는 배열입니다.
  • 문자열 전체를 출력하고, 각 문자를 한 줄씩 출력합니다.

 

요약

  1. 1차원 배열: 일렬로 나열된 데이터 저장 공간입니다.
  2. 2차원 배열: 여러 개의 1차원 배열이 모여 있는 형태입니다.
  3. 배열을 사용한 반복문: 배열의 각 원소를 반복문으로 처리할 수 있습니다.
  4. 문자열: 문자들이 나란히 배열된 것입니다.