언어/C++
5일차)C++ 문법 단기간에 끝내기!! _기초 문법편5
CodeMuscle
2024. 12. 2. 16:15
반응형
안녕하세요. CodeMuscle 입니다.
C++ 배열과 문자열 가이드: 1차원 배열, 다차원 배열, 문자열
C++에서 배열과 문자열은 데이터를 저장하고 처리하는 중요한 도구입니다. 배열은 같은 데이터 타입의 여러 값을 저장하는 자료구조이고, 문자열은 문자들의 연속으로 문장을 저장하는 데 사용됩니다. 이번 글에서는 배열과 문자열에 대해 자세히 알아보겠습니다.
1. 배열
배열은 같은 타입의 데이터를 순서대로 저장할 수 있는 구조로, 데이터가 연속된 메모리 공간에 배치됩니다.
- 1차원 배열 1차원 배열은 하나의 인덱스를 사용하여 데이터를 저장합니다.numbers라는 이름의 배열은 정수 5개를 저장하며, 배열 요소는 numbers[0], numbers[1] 등의 방식으로 접근할 수 있습니다.
- int numbers[5] = {1, 2, 3, 4, 5}; int main() { for (int i = 0; i < 5; i++) { std::cout << "Element at index " << i << " is " << numbers[i] << std::endl; } return 0; }
- 다차원 배열 다차원 배열은 행렬처럼 데이터를 저장할 때 사용됩니다. 일반적으로 2차원 배열을 가장 많이 사용합니다.위 예제에서 matrix는 3x3 크기의 2차원 배열입니다. 행과 열의 인덱스를 이용해 각 요소에 접근할 수 있습니다.
- int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; int main() { for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { std::cout << "Element at (" << i << ", " << j << ") is " << matrix[i][j] << std::endl; } } return 0; }
- 배열의 크기와 메모리 배열의 크기는 배열을 선언할 때 명시되며, 배열은 고정된 크기를 가집니다. 배열의 크기를 구하려면 sizeof 연산자를 사용할 수 있습니다.sizeof(arr)는 배열의 전체 크기를 반환하고, sizeof(arr[0])는 배열의 한 요소의 크기를 반환하므로 이를 나누면 배열의 요소 개수를 알 수 있습니다.
- int arr[10]; std::cout << "Size of array: " << sizeof(arr) / sizeof(arr[0]) << std::endl; // 배열의 크기 출력
2. 문자열
문자열은 문자들의 연속으로, 문자 데이터를 저장하고 다루는 데 사용됩니다.
- C 스타일 문자열 (char[]) C 스타일 문자열은 char 배열을 이용하여 문자열을 저장합니다. 문자열의 끝은 항상 널 문자(\0)로 끝나야 합니다.greeting 배열은 문자 'H', 'e', 'l', 'l', 'o', \0로 구성되어 있습니다. 이 \0는 문자열의 끝을 의미합니다.
- char greeting[] = "Hello"; int main() { std::cout << "Greeting: " << greeting << std::endl; return 0; }
- C++ 문자열 클래스 (std::string) C++에서는 더 편리하게 문자열을 다룰 수 있는 std::string 클래스를 제공합니다. 이 클래스는 문자열의 길이를 자동으로 관리하고 다양한 기능을 제공합니다.std::string은 문자 배열보다 훨씬 사용하기 편리하며, 문자열 연결(+ 연산자), 길이 계산 (length() 함수) 등 다양한 기능을 제공합니다.
- #include <string> int main() { std::string name = "Alice"; std::cout << "Name: " << name << std::endl; // 문자열 연결 std::string fullName = name + " Wonderland"; std::cout << "Full Name: " << fullName << std::endl; // 문자열 길이 std::cout << "Length of name: " << name.length() << std::endl; return 0; }
마무리
이 글에서는 C++의 배열과 문자열에 대해 알아보았습니다. 1차원 및 다차원 배열, 그리고 C 스타일 문자열과 std::string 클래스의 차이점과 사용 방법을 살펴보았습니다. 배열과 문자열은 데이터를 저장하고 처리하는 중요한 개념이니, 다양한 예제를 통해 직접 실습해 보세요!
반응형