Menu
Coddy logo textTech

요소에 접근하기

Coddy C 여정의 Fundamentals 섹션에 포함된 레슨 — 63개 중 54번째.

배열은 동일한 타입의 여러 값을 저장합니다. 배열의 개별 요소에 접근하기 위해 인덱스 위치를 사용합니다.

C 언어에서 배열 인덱스는 0부터 시작합니다. 이는 첫 번째 요소가 인덱스 0에 있고, 두 번째 요소가 인덱스 1에 있으며, 그 이후로도 마찬가지라는 것을 의미합니다.

5개의 요소를 가진 정수 배열을 생성합니다:

int numbers[5] = {10, 20, 30, 40, 50};

첫 번째 요소(인덱스 0)에 접근합니다:

int firstElement = numbers[0];

위 코드를 실행한 후, firstElement는 다음을 포함합니다:

10

세 번째 요소(인덱스 2)에 접근합니다:

int thirdElement = numbers[2];

이것은 30이라는 값을 thirdElement에 저장합니다.

배열 범위를 벗어난 요소에 접근하려고 시도하는 것은 (우리 예제의 numbers[5]와 같이) 정의되지 않은 동작(undefined behavior)으로 이어지며 프로그램 충돌을 일으킬 수 있습니다.

challenge icon

챌린지

쉬움

getElement라는 이름의 함수를 작성하세요:

  1. 정수 배열과 그 크기를 매개변수로 받습니다
  2. 인덱스 매개변수를 받습니다
  3. 인덱스가 유효하면(배열 범위 내), 해당 인덱스의 요소를 출력합니다
  4. 인덱스가 유효하지 않으면(배열 범위 밖), "Index out of bounds"를 출력합니다

배열의 인덱스는 0부터 시작하므로, 6번째 요소를 원한다면 array[5]에 접근해야 함을 기억하세요

치트 시트

배열은 동일한 타입의 여러 값을 저장합니다. 배열 인덱스는 0부터 시작합니다.

정수 배열 생성:

int numbers[5] = {10, 20, 30, 40, 50};

대괄호와 인덱스를 사용하여 요소에 접근합니다:

int firstElement = numbers[0];  // 10을 가져옵니다
int thirdElement = numbers[2];  // 30을 가져옵니다

배열 범위를 벗어난 요소에 접근하면 정의되지 않은 동작이 발생하며 충돌이 발생할 수 있습니다.

직접 해보기

#include <stdio.h>

void getElement(int arr[], int size, int index) {
    // 여기에 코드를 작성하세요
}

int main() {
    int size, index;
    
    // 배열의 크기를 읽습니다
    scanf("%d", &size);
    
    int arr[size];
    
    // 배열 요소를 읽습니다
    for(int i = 0; i < size; i++) {
        scanf("%d", &arr[i]);
    }
    
    // 접근할 인덱스를 읽습니다
    scanf("%d", &index);
    
    getElement(arr, size, index);
    
    return 0;
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Fundamentals의 모든 레슨