기본 패턴
c
int scores[4] = {90, 85, 100, 70};
scores[1] = 88;설명
- C 배열은 같은 타입의 값을 연속된 메모리 공간에 저장합니다.
- 인덱스는 0부터 시작하고, 마지막 원소 인덱스는
길이 - 1입니다. - 배열 길이는 선언 시점에 고정되는 경우가 많으므로 크기를 함께 관리해야 합니다.
- 같은 함수 안에서는
sizeof(array) / sizeof(array[0])로 원소 수를 계산할 수 있습니다.
짧은 예제
c
#include <stdio.h>
int main(void) {
int scores[] = {90, 85, 100, 70};
int length = (int)(sizeof(scores) / sizeof(scores[0]));
int total = 0;
for (int i = 0; i < length; i++) {
total += scores[i];
}
printf("average = %.1f\n", (double)total / length);
return 0;
}빠른 정리
| 항목 | 설명 |
|---|---|
type name[n] | 길이가 정해진 배열 선언 |
array[i] | i번째 원소 접근 |
| 연속 메모리 | 원소가 메모리에 붙어서 저장됨 |
sizeof | 배열 전체 바이트 수 계산 가능 |
| 인덱스 범위 | 0부터 n - 1까지 |
주의할 점
C는 배열 경계 검사를 자동으로 하지 않습니다. 범위를 벗어난 접근은 정의되지 않은 동작으로 이어질 수 있습니다.