Programming/C++

C++ : 배열과 문자열

나무수피아 2025. 4. 28. 12:19
728x90
반응형

배열과 문자열(Array & String)

1 배열(Array)

배열은 같은 타입의 데이터를 연속적으로 저장하는 자료구조입니다.

#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] << " ";
    }

    return 0;
}
📌 Tip: 배열의 인덱스는 항상 0부터 시작합니다!

2 C 스타일 문자열 (char[])

C 스타일 문자열은 char 배열에 문자를 저장하고 마지막에 '\0' (널 문자)를 추가합니다.

#include <iostream>
using namespace std;

int main() {
    char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};

    cout << greeting << endl;

    return 0;
}

문자열 입력

cin을 사용할 때는 공백을 기준으로 입력이 끊깁니다.

#include <iostream>
using namespace std;

int main() {
    char name[20];
    cout << "이름을 입력하세요: ";
    cin >> name;

    cout << "안녕하세요, " << name << "님!" << endl;
    return 0;
}
⚠️ 주의: 배열 크기를 초과하여 입력하면 프로그램 오류가 발생할 수 있습니다!

3 C++ 스타일 문자열 (std::string)

C++에서는 std::string 클래스를 사용하여 문자열을 훨씬 쉽게 다룰 수 있습니다.

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

int main() {
    string greeting = "Hello";
    cout << greeting << endl;

    string name;
    cout << "이름을 입력하세요: ";
    cin >> name;
    cout << "안녕하세요, " << name << "님!" << endl;

    return 0;
}
📌 Tip: std::string은 길이에 제한이 없고 다양한 문자열 함수를 제공합니다!

4 문자열 처리 함수

C++ string 클래스가 제공하는 유용한 문자열 처리 함수들을 소개합니다.

  • length() : 문자열 길이 반환
  • append() : 문자열 덧붙이기
  • substr() : 부분 문자열 추출
  • find() : 특정 문자열 검색
  • replace() : 문자열 교체
#include <iostream>
#include <string>
using namespace std;

int main() {
    string str = "Hello World";

    cout << "길이: " << str.length() << endl;
    str.append("!!!");
    cout << "추가: " << str << endl;
    cout << "부분 문자열: " << str.substr(6, 5) << endl;
    cout << "찾기: " << str.find("World") << endl;
    str.replace(6, 5, "C++");
    cout << "교체: " << str << endl;

    return 0;
}

마무리

이번 시간에는 C++에서 배열과 문자열을 다루는 방법을 배웠습니다.
C 스타일 문자열과 C++ 스타일 문자열의 차이점을 이해하는 것이 중요합니다.

728x90
반응형

'Programming > C++' 카테고리의 다른 글

C++ : 구조체와 열거형  (0) 2025.04.28
C++ : 포인터와 참조  (0) 2025.04.28
C++ : 함수  (0) 2025.04.28
C++ : 제어문  (0) 2025.04.28
C++ : 변수와 자료형  (0) 2025.04.28