본문 바로가기
프로그래밍/C++

[C++] 4. C++의 "배열과 문자열"

by iwbap 2024. 6. 14.
728x90

C++ 학습: 배열과 문자열

C++에서 배열과 문자열은 데이터를 효율적으로 저장하고 처리하는 데 중요한 역할을 합니다. 이번 글에서는 1차원 배열, 다차원 배열, 그리고 문자열 처리(C 스타일 문자열과 C++의 string 클래스)에 대해 알아보겠습니다.


1. 1차원 배열: 배열의 선언과 사용

1차원 배열은 동일한 자료형의 데이터를 연속적으로 저장할 수 있는 변수입니다. 배열의 각 요소는 인덱스를 통해 접근할 수 있습니다. 배열의 선언과 사용 예는 다음과 같습니다.

 

 

배열 선언과 초기화

[cpp]
 
#include <iostream>
using namespace std;

int main() {
    int numbers[5] = {1, 2, 3, 4, 5}; // 배열 선언 및 초기화
    for (int i = 0; i < 5; i++) {
        cout << "numbers[" << i << "] = " << numbers[i] << endl;
    }
    return 0;
}
 

위의 예제에서 numbers 배열은 5개의 정수를 저장하며, 각 요소는 인덱스를 통해 접근할 수 있습니다. for 문을 사용하여 배열의 모든 요소를 출력합니다.


2. 다차원 배열: 2차원 배열과 그 이상의 배열

다차원 배열은 배열의 배열로 생각할 수 있으며, 가장 일반적인 형태는 2차원 배열입니다. 다차원 배열은 행(row)과 열(column)로 구성됩니다. 다차원 배열의 선언과 초기화는 다음과 같습니다.

 

 

2차원 배열 선언과 사용

[cpp]
 
#include <iostream>
using namespace std;

int main() {
    int matrix[2][3] = {
        {1, 2, 3},
        {4, 5, 6}
    }; // 2차원 배열 선언 및 초기화

    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 3; j++) {
            cout << "matrix[" << i << "][" << j << "] = " << matrix[i][j] << endl;
        }
    }

    return 0;
}
 

위의 예제에서 matrix 배열은 2x3 형태의 2차원 배열로, 두 개의 행과 세 개의 열을 가집니다. 중첩된 for 문을 사용하여 모든 요소를 출력합니다.

 

 

그 이상의 다차원 배열

[cpp]
 
#include <iostream>
using namespace std;

int main() {
    int tensor[2][3][4] = {
        {
            {1, 2, 3, 4},
            {5, 6, 7, 8},
            {9, 10, 11, 12}
        },
        {
            {13, 14, 15, 16},
            {17, 18, 19, 20},
            {21, 22, 23, 24}
        }
    }; // 3차원 배열 선언 및 초기화

    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 3; j++) {
            for (int k = 0; k < 4; k++) {
                cout << "tensor[" << i << "][" << j << "][" << k << "] = " << tensor[i][j][k] << endl;
            }
        }
    }

    return 0;
}
 

위의 예제에서 tensor 배열은 2x3x4 형태의 3차원 배열로, 중첩된 for 문을 사용하여 모든 요소를 출력합니다.


3. 문자열 처리: C 스타일 문자열과 C++의 string 클래스

C++에서는 문자열을 처리하는 두 가지 방법이 있습니다: C 스타일 문자열과 C++의 string 클래스입니다.

 

 

C 스타일 문자열 : C 스타일 문자열은 문자 배열로 처리됩니다. 문자열은 null 문자 \0로 끝납니다.

[cpp]
 
#include <iostream>
using namespace std;

int main() {
    char str[20] = "Hello, World!";
    cout << "C 스타일 문자열: " << str << endl;

    // 문자열 길이 계산
    int length = 0;
    while (str[length] != '\0') {
        length++;
    }
    cout << "문자열 길이: " << length << endl;

    return 0;
}
 
 

C++의 string 클래스 : C++의 표준 라이브러리 string 클래스를 사용하면 문자열을 보다 쉽게 다룰 수 있습니다.

[cpp]
 
#include <iostream>
#include <string>
using namespace std;

int main() {
    string str = "Hello, World!";
    cout << "C++ string 클래스: " << str << endl;

    // 문자열 길이 계산
    cout << "문자열 길이: " << str.length() << endl;

    // 문자열 결합
    string str2 = " How are you?";
    string result = str + str2;
    cout << "결합된 문자열: " << result << endl;

    // 부분 문자열 추출
    string substr = str.substr(0, 5);
    cout << "부분 문자열: " << substr << endl;

    return 0;
}
 

위의 예제에서 string 클래스를 사용하여 문자열을 선언하고, 문자열의 길이를 계산하며, 문자열을 결합하고, 부분 문자열을 추출하는 방법을 보여줍니다.


이번 글에서는 C++의 배열과 문자열에 대해 알아보았습니다. 1차원 배열과 다차원 배열을 사용하는 방법, 그리고 C 스타일 문자열과 C++의 string 클래스를 사용하는 방법을 이해하고 나면, 데이터를 효율적으로 관리하고 조작할 수 있습니다. 다음 단계에서는 포인터와 참조를 학습해보세요. Happy Coding!

728x90

'프로그래밍 > C++' 카테고리의 다른 글

[C++] 6. C++의 "구조체와 클래스"  (0) 2024.06.17
[C++] 5. C++의 "포인터와 참조"  (0) 2024.06.14
[C++] 3. C++의 "함수"  (0) 2024.06.14
[C++] 2. C++의 "기본 문법"  (0) 2024.06.14
[C++] 1. C++의 "기초 개념"  (0) 2024.06.14