요소에 접근하기
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)으로 이어지며 프로그램 충돌을 일으킬 수 있습니다.
챌린지
쉬움getElement라는 이름의 함수를 작성하세요:
- 정수 배열과 그 크기를 매개변수로 받습니다
- 인덱스 매개변수를 받습니다
- 인덱스가 유효하면(배열 범위 내), 해당 인덱스의 요소를 출력합니다
- 인덱스가 유효하지 않으면(배열 범위 밖), "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;
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.