학습
C++ 배열 (Arrays)
C++ 배열 (Arrays) — 초급
배열 (Arrays)
1. 도입 (왜 배워야 하는가)
배열은 프로그래밍에서 데이터를 효율적으로 관리하고 처리하기 위해 필수적인 자료구조입니다. 배열을 사용하면 동일한 데이터 타입의 여러 값을 하나의 변수로 묶어서 관리할 수 있습니다. 예를 들어, 쇼핑몰에서 고객의 장바구니에 담긴 여러 상품의 가격을 저장하거나, 학생의 성적을 관리하는 데 유용합니다. 배열을 모르면 이러한 데이터를 개별적으로 관리해야 하므로 코드가 복잡해지고, 효율성이 떨어집니다. 결국, 배열을 활용하지 않으면 코드의 가독성이 떨어지고, 유지보수가 어려워질 수 있습니다.
2. 핵심 개념 설명
배열은 동일한 데이터 타입의 요소를 연속적으로 저장하는 자료구조입니다. 배열의 인덱스(0부터 시작)는 각 요소의 위치를 나타내며, 이를 통해 각 요소에 쉽게 접근할 수 있습니다.
- 정의: 배열은 같은 타입의 데이터들을 순서대로 저장하는 구조이다.
- 비유: 배열을 책장에 비유해 보세요. 각 책(데이터)은 특정 위치(인덱스)에 꽂혀 있고, 책장을 통해 쉽게 원하는 책을 찾을 수 있습니다.
| 용어 | 설명 |
|---|---|
| 요소 (Element) | 배열에 저장된 개별 데이터 |
| 인덱스 (Index) | 배열의 각 요소의 위치 (0부터 시작) |
| 크기 (Size) | 배열에 저장할 수 있는 요소의 수 |
3. 기본 코드 예제
아래는 배열을 선언하고 초기화하는 기본적인 예제입니다.
#include <iostream>
using namespace std;
int main() {
// 정수형 배열의 선언 및 초기화
int numbers[5] = {10, 20, 30, 40, 50};
// 배열의 요소 출력
for (int i = 0; i < 5; i++) {
cout << "numbers[" << i << "] = " << numbers[i] << endl;
}
return 0;
}
실행 결과:
numbers[0] = 10
numbers[1] = 20
numbers[2] = 30
numbers[3] = 40
numbers[4] = 50
int numbers[5] = {10, 20, 30, 40, 50};: 정수형 배열 numbers를 선언하고 초기화합니다. 배열의 크기는 5입니다.for (int i = 0; i < 5; i++): 배열의 각 인덱스를 순회하기 위한 반복문을 시작합니다.cout << "numbers[" << i << "] = " << numbers[i] << endl;: 현재 인덱스의 값을 출력합니다.4. 실전 활용 예제
- 쇼핑몰 장바구니 구현:
- 학생 성적 관리:
- 배열 크기 초과 접근:
- 배열 초기화 누락:
- 배열은 동일한 타입의 데이터를 순차적으로 저장하는 자료구조입니다.
- 배열을 사용하면 데이터를 효율적으로 관리할 수 있습니다.
- 인덱스를 통해 배열의 각 요소에 접근할 수 있습니다.
- 흔히 발생하는 실수로는 배열 크기 초과 접근과 초기화 누락이 있습니다.
쇼핑몰에서 고객이 선택한 상품의 가격을 배열로 저장합니다.
#include <iostream>
using namespace std;
int main() {
double prices[3] = {19.99, 5.49, 3.99}; // 상품 가격
double total = 0;
for (int i = 0; i < 3; i++) {
total += prices[i]; // 상품 가격을 합산
}
cout << "총 합계: $" << total << endl; // 총합계 출력
return 0;
}
이 코드는 장바구니에 담긴 상품의 가격을 합산하여 총 금액을 계산합니다.
학생의 성적을 배열로 관리하여 평균 점수를 구합니다.
#include <iostream>
using namespace std;
int main() {
int scores[4] = {85, 90, 78, 92}; // 학생 성적
int sum = 0;
for (int i = 0; i < 4; i++) {
sum += scores[i]; // 성적을 합산
}
double average = sum / 4.0; // 평균 계산
cout << "학생의 평균 성적: " << average << endl; // 평균 성적 출력
return 0;
}
이 코드는 학생의 성적을 배열로 관리하고 평균을 계산합니다.
5. 흔한 실수와 주의사항
- 잘못된 코드:
int arr[3] = {1, 2, 3};
cout << arr[3]; // 배열 크기를 초과한 접근
- 올바른 코드:
cout << arr[2]; // 마지막 요소인 3에 접근
- 잘못된 코드:
int arr[5]; // 초기화하지 않음
cout << arr[0]; // 쓰레기 값 출력
- 올바른 코드:
int arr[5] = {0}; // 초기화
cout << arr[0]; // 0 출력
6. 정리
다음에 학습하면 좋은 주제는 다차원 배열과 포인터입니다. 배열의 기초를 이해한 후, 더 복잡한 데이터 구조와 메모리 관리의 기초를 배워보세요.