Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++ 문자열 배열 정의하고 사용하는 방법 완벽 가이드

C++에서 문자열 배열 정의하는 방법

이 글에서는 C++에서 문자열 배열을 정의하고 사용하는 방법에 대해 자세히 살펴보겠습니다.

C 언어에는 별도의 문자열(string) 타입이 없었습니다. 대신 문자 배열(char array)을 사용해 문자열을 직접 만들어야 했으며, 여러 개의 문자열을 담으려면 2차원 문자 배열을 생성하고 각 행(row)마다 하나의 문자열을 저장하는 방식으로 구현해야 했습니다.

하지만 C++에는 std::string이라는 전용 클래스가 제공됩니다. 이 클래스의 객체를 활용하면 문자열 데이터를 훨씬 편리하고 효율적으로 다룰 수 있으며, 일반 객체 배열을 생성하듯이 손쉽게 문자열 배열도 만들 수 있습니다.

아울러 C++ 표준 라이브러리(STL)의 vector 컨테이너를 사용해 문자열 배열을 구현하는 방법도 함께 알아보겠습니다. vector는 내부적으로 동적 할당된 배열을 사용하므로, 크기가 고정된 일반 배열과 달리 요소를 자유롭게 추가하거나 제거할 수 있다는 큰 장점이 있습니다.

방법 1: string 객체 배열 사용

가장 기본적인 방법은 string 타입의 배열을 선언하고 초기화 목록으로 값을 지정하는 것입니다. 아래 예제를 확인해 보세요.

예제 코드

#include<iostream>
using namespace std;

int main() {
    string animals[4] = {"Elephant", "Lion", "Deer", "Tiger"}; // string 타입의 배열

    for (int i = 0; i < 4; i++)
        cout << animals[i] << endl;
}

실행 결과

Elephant
Lion
Deer
Tiger

위 코드에서는 크기가 4인 string 배열을 선언하고 네 가지 동물 이름으로 초기화했습니다. 그런 다음 반복문을 사용해 인덱스 0부터 3까지 순회하며 각 문자열을 출력합니다.

방법 2: vector 컨테이너 사용

vector는 C++ 표준 라이브러리에서 제공하는 동적 배열 컨테이너입니다. 프로그램 실행 중에 크기가 늘어나거나 줄어들 수 있어, 배열의 크기를 미리 알 수 없는 상황에서 특히 유용합니다. push_back() 함수로 요소를 추가하고, 일반 배열처럼 대괄호([]) 연산자로 각 요소에 접근할 수 있습니다.

예제 코드

#include<iostream>
#include<vector>
using namespace std;

int main() {
    vector<string> animal_vec;

    animal_vec.push_back("Elephant");
    animal_vec.push_back("Lion");
    animal_vec.push_back("Deer");
    animal_vec.push_back("Tiger");

    for (int i = 0; i < animal_vec.size(); i++) {
        cout << animal_vec[i] << endl;
    }
}

실행 결과

Elephant
Lion
Deer
Tiger

vector를 사용하면 size() 함수로 현재 저장된 요소의 개수를 바로 확인할 수 있어 반복문 작성도 더욱 안전하고 편리합니다.

정리

  • 고정된 크기의 문자열 집합이 필요하다면 → string 배열 사용
  • 유동적으로 크기를 변경해야 한다면 → vector<string> 사용

두 방법 모두 실무에서 널리 활용되므로, 상황에 맞게 적절히 선택하여 사용하시면 됩니다.