C++ Array String


C++에서 배열과 문자열은 중요한 데이터 구조입니다. 배열은 동일한 타입의 데이터를 순차적으로 저장하는 데 사용되며, 문자열은 문자 배열로 표현됩니다. 여기서는 배열 선언 및 초기화, 다차원 배열, 문자열 처리 등을 다루겠습니다.

배열

배열 선언 및 초기화

배열은 동일한 타입의 데이터를 순차적으로 저장하는 자료 구조입니다. 배열은 정적 크기와 동적 크기로 선언할 수 있습니다.

#include <iostream>

int main() {
    // 정적 크기의 배열 선언 및 초기화
    int numbers[5] = {1, 2, 3, 4, 5};

    // 배열 요소에 접근
    std::cout << "첫 번째 요소: " << numbers[0] << std::endl;
    std::cout << "세 번째 요소: " << numbers[2] << std::endl;

    // 배열 요소를 변경
    numbers[2] = 10;
    std::cout << "변경된 세 번째 요소: " << numbers[2] << std::endl;

    return 0;
}

배열 요소 접근

배열 요소는 인덱스를 사용하여 접근할 수 있습니다. 인덱스는 0부터 시작합니다.

int firstElement = numbers[0]; // 첫 번째 요소
int thirdElement = numbers[2]; // 세 번째 요소

다차원 배열

다차원 배열은 배열의 배열로 구성됩니다. 가장 흔한 다차원 배열은 2차원 배열입니다.

#include <iostream>

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

    // 2차원 배열 요소에 접근
    std::cout << "첫 번째 행, 두 번째 열의 요소: " << matrix[0][1] << std::endl;

    // 2차원 배열 요소 변경
    matrix[1][1] = 10;
    std::cout << "변경된 두 번째 행, 두 번째 열의 요소: " << matrix[1][1] << std::endl;

    return 0;
}

문자열

문자열은 문자 배열로 표현됩니다. C++에서는 C 스타일 문자열과 C++ 스타일 문자열(std::string)을 사용할 수 있습니다.

C 스타일 문자열

C 스타일 문자열은 char 배열로 선언됩니다. 문자열의 끝은 null 문자 ('\0')로 표시됩니다.

#include <iostream>
#include <cstring> // 문자열 함수 사용을 위해 필요

int main() {
    // C 스타일 문자열 선언 및 초기화
    char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};

    // 문자열 출력
    std::cout << "Greeting: " << greeting << std::endl;

    // 문자열 함수 사용
    int length = std::strlen(greeting); // 문자열 길이 계산
    std::cout << "Length of greeting: " << length << std::endl;

    return 0;
}

C++ 스타일 문자열

C++ 스타일 문자열은 std::string 클래스를 사용합니다. 이는 C 스타일 문자열보다 더 많은 기능을 제공합니다.

#include <iostream>
#include <string> // std::string 사용을 위해 필요

int main() {
    // C++ 스타일 문자열 선언 및 초기화
    std::string greeting = "Hello";

    // 문자열 출력
    std::cout << "Greeting: " << greeting << std::endl;

    // 문자열 길이 계산
    int length = greeting.length();
    std::cout << "Length of greeting: " << length << std::endl;

    // 문자열 연결
    std::string completeGreeting = greeting + ", World!";
    std::cout << "Complete Greeting: " << completeGreeting << std::endl;

    return 0;
}

예제 프로그램

아래는 배열, 다차원 배열, C 스타일 문자열, C++ 스타일 문자열을 모두 사용하는 예제 프로그램입니다:

#include <iostream>
#include <cstring> // C 스타일 문자열 함수 사용
#include <string>  // C++ 스타일 문자열 클래스 사용

int main() {
    // 1차원 배열
    int numbers[5] = {1, 2, 3, 4, 5};
    std::cout << "Numbers: ";
    for (int i = 0; i < 5; ++i) {
        std::cout << numbers[i] << " ";
    }
    std::cout << std::endl;

    // 2차원 배열
    int matrix[2][3] = {
        {1, 2, 3},
        {4, 5, 6}
    };
    std::cout << "Matrix:" << std::endl;
    for (int i = 0; i < 2; ++i) {
        for (int j = 0; j < 3; ++j) {
            std::cout << matrix[i][j] << " ";
        }
        std::cout << std::endl;
    }

    // C 스타일 문자열
    char cString[6] = "Hello";
    std::cout << "C String: " << cString << std::endl;
    std::cout << "Length of C String: " << std::strlen(cString) << std::endl;

    // C++ 스타일 문자열
    std::string cppString = "Hello";
    std::cout << "C++ String: " << cppString << std::endl;
    std::cout << "Length of C++ String: " << cppString.length() << std::endl;
    std::string fullGreeting = cppString + ", World!";
    std::cout << "Full Greeting: " << fullGreeting << std::endl;

    return 0;
}

이 프로그램은 배열, 다차원 배열, C 스타일 문자열 및 C++ 스타일 문자열의 사용법을 보여줍니다. 각각의 데이터 구조와 문자열 처리 방법을 이해하는 데 도움이 될 것입니다.


Leave a Reply

Your email address will not be published. Required fields are marked *