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++ 스타일 문자열의 사용법을 보여줍니다. 각각의 데이터 구조와 문자열 처리 방법을 이해하는 데 도움이 될 것입니다.