C++ 학습: 배열과 문자열
C++에서 배열과 문자열은 데이터를 효율적으로 저장하고 처리하는 데 중요한 역할을 합니다. 이번 글에서는 1차원 배열, 다차원 배열, 그리고 문자열 처리(C 스타일 문자열과 C++의 string 클래스)에 대해 알아보겠습니다.
1. 1차원 배열: 배열의 선언과 사용
1차원 배열은 동일한 자료형의 데이터를 연속적으로 저장할 수 있는 변수입니다. 배열의 각 요소는 인덱스를 통해 접근할 수 있습니다. 배열의 선언과 사용 예는 다음과 같습니다.
배열 선언과 초기화
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차원 배열 선언과 사용
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 문을 사용하여 모든 요소를 출력합니다.
그 이상의 다차원 배열
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로 끝납니다.
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 클래스를 사용하면 문자열을 보다 쉽게 다룰 수 있습니다.
#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!
'프로그래밍 > 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 |