배열과 문자열(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++ 스타일 문자열의 차이점을 이해하는 것이 중요합니다.