산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C++ 배열 마스터하기: 선언, 초기화, 접근, 실전 예제

C++ 배열

C++ 배열의 선언, 초기화, 요소 접근, 조작 방법을 실전 코드 예제로 상세히 다룹니다.

C++에서 배열은 **같은 타입의 요소들을 고정 크기로 저장하는 단일 변수**입니다. 예: 27명 학생의 성적을 한 배열에 저장:

double grade[27];

grade는 최대 27개 double 값을 담습니다. 배열 선언 후 크기와 요소 타입은 변경 불가.


C++ 배열 선언

dataType arrayName[arraySize];

예:

int x[6];

해설:


C++ 배열 요소 접근

각 요소는 0부터 시작하는 **인덱스**로 식별됩니다. 접근/수정 문법:

// 배열 요소 접근 문법
array[index];

위 x 배열 예:

C++ 배열 마스터하기: 선언, 초기화, 접근, 실전 예제

핵심 포인트


C++ 배열 초기화

선언과 동시에 초기화 가능:

// 선언과 초기화 동시
int x[6] = {19, 10, 8, 17, 9, 15};
C++ 배열 마스터하기: 선언, 초기화, 접근, 실전 예제

크기를 생략하면 컴파일러가 유추:

int x[] = {19, 10, 8, 17, 9, 15};

제공된 요소 수가 배열 크기보다 적으면 나머지는 C++에서 0으로 초기화됩니다.

C++ 배열 마스터하기: 선언, 초기화, 접근, 실전 예제

배열 요소 삽입 및 출력

int mark[5] = {19, 10, 8, 17, 9};
// 4번째 요소 변경
mark[3] = 9;
// 사용자 입력받아 3번째 위치 저장
cin >> mark[2];
// i번째 위치에 입력 저장
cin >> mark[i-1];
// 첫 요소 출력
cout << mark[0];
// i번째 요소 출력
cout >> mark[i-1];

예제 1: 배열 요소 출력

#include <iostream>
using namespace std;
int main() {
    int numbers[5] = {7, 5, 6, 12, 35};
    cout << "The numbers are: ";
    // 범위 기반 for 루프로 출력
    for (const int &n : numbers) {
        cout << n << " ";
    }
    cout << "\nThe numbers are: ";
    // 전통적 for 루프로 출력
    for (int i = 0; i < 5; ++i) {
        cout << numbers[i] << " ";
    }
    return 0;
}

실행 결과

The numbers are: 7 5 6 12 35
The numbers are: 7 5 6 12 35

두 루프 모두 같은 결과. 범위 기반 루프는 읽기 전용일 때 선호되며 불필요한 복사 방지.

참고: const int &n은 참조 전달로 복사 방지, 실수 수정 방지해 int n보다 효율적.


예제 2: 사용자 입력을 배열에 저장

#include <iostream>
using namespace std;
int main() {
    int numbers[5];
    cout << "Enter 5 numbers: " << endl;
    // 사용자 입력을 배열에 저장
    for (int i = 0; i < 5; ++i) {
        cin >> numbers[i];
    }
    cout << "The numbers are: ";
    // 배열 요소 출력
    for (int n = 0; n < 5; ++n) {
        cout << numbers[n] << " ";
    }
    return 0;
}

실행 결과

Enter 5 numbers: 11 12 13 14 15
The numbers are: 11 12 13 14 15

예제 3: 배열 요소의 합과 평균

#include <iostream>
using namespace std;
int main() {
    double numbers[] = {7, 5, 6, 12, 35, 27};
    double sum = 0;
    double count = 0;
    double average;
    cout << "The numbers are: ";
    // 범위 기반 루프로 순회하며 합계 계산
    for (const double &n : numbers) {
        cout << n << " ";
        sum += n;
        ++count;
    }
    cout << "\nTheir Sum = " << sum << endl;
    average = sum / count;
    cout << "Their Average = " << average << endl;
    return 0;
}

실행 결과

The numbers are: 7 5 6 12 35 27
Their Sum = 92
Their Average = 15.3333

컴파일 타임에 크기를 모를 때 범위 기반 루프가 순회를 어떻게 단순화하는지 보여줍니다.


C++ 배열 경계 밖 접근

크기 10 배열의 유효 인덱스는 0~9입니다. 10 이상 접근 시 **미정의 행동(Undefined Behavior)** 발생, 크래시나 데이터 손상 유발 가능.

C 언어

  1. C# 배열 마스터하기: 선언, 초기화, 조작과 LINQ 연산
  2. C# 다차원 배열: 2차원 배열 문법과 코드 예제로 완벽 이해
  3. C# 가변 배열(Jagged Array): 선언, 초기화, 접근 완전 가이드
  4. C++ 연산자 마스터하기: 유형별 완벽 가이드와 실전 예제
  5. C++ 주석: 가독성 높고 유지보수하기 좋은 코드 작성법
  6. C++ 배열을 함수에 전달하는 방법: 실전 가이드
  7. Java 배열 복사 기법: 대입, 루프, System.arraycopy, Arrays.copyOfRange 총정리
  8. C++ 배열 완전 정복: 선언, 초기화, 포인터 기법
  9. C++ 동적 배열 할당 완벽 가이드: new, delete, 실전 코드 예제
  10. MATLAB: 다차원 배열과 특수 배열 마스터하기