C++에서 배열을 선언하는 방법은?
_____A1: 배열은 요소 타입과 이름, 그리고 크기를 지정하여 선언합니다.
```cpp
type arrayName[arraySize];
```
예:
```cpp
int numbers[5];
```
위 코드는 정수형 배열 numbers를 5개의 요소 크기로 선언합니다.
---
Q2: 배열의 크기는 어떻게 지정하나요?
A2: 배열 크기는 정수 상수 또는 상수 표현식이어야 하며, 보통 양의 정수입니다. 크기 지정은 대괄호 안에 넣습니다.
예:
```cpp
char name[10];
```
동적 크기는 배열 선언시에 사용할 수 없고, 동적으로 할당하려면 다른 방식을 사용해야 합니다.
---
Q3: 배열 선언 시 초기화는 어떻게 하나요?
A3: 선언과 동시에 초기화할 수 있습니다.
```cpp
int arr[3] = {1, 2, 3};
```
만약 초기값 개수가 배열 크기보다 적으면 나머지는 0으로 초기화됩니다.
```cpp
int arr[5] = {1, 2}; // arr[2], arr[3], arr[4]는 0으로 초기화
```
크기를 생략하면 초기화 개수에 맞게 자동으로 배열 크기를 결정합니다.
```cpp
int arr[] = {1, 2, 3}; // 크기는 3
```
---
Q4: 다차원 배열 선언 방법은?
A4: 각 차원마다 크기를 대괄호 안에 지정합니다.
예: 2차원 배열
```cpp
int matrix[3][4];
3행 4열인 정수 배열을 선언합니다.
---
Q5: 배열 선언 시 주의할 점은?
A5:
- 크기는 반드시 상수여야 하며, 컴파일 타임에 결정되어야 합니다 (표준 C++에서).
- 배열의 인덱스는 0부터 시작하여 크기-1까지입니다.
- 배열은 메모리에서 연속된 공간에 저장됩니다.
- 초기화를 하지 않으면 기본 타입에서는 쓰레기값이 들어 있습니다.
---
Q6: 문자열 배열 선언 방법은?
A6: 문자열(char 배열)은 char 타입 배열로 선언합니다.
예:
```cpp
char str[20]; // 20글자 크기
char str[] = "Hello"; // 크기는 6 (마지막에 '\0' 포함)
```
---
Q7: C++11 이상에서는 배열 선언에 어떤 변화가 있나요?
A7: C++11부터는 `std::array` 템플릿을 사용할 수 있습니다.
```cpp
include
std::array
```
`std::array`는 배열과 비슷하지만 STL 컨테이너이므로 더 안전하고 편리합니다.
---
요약:
- 기본 형식: `type name[size];`
- 초기화 가능: `int arr[3] = {1, 2, 3};`
- 크기 생략 가능: `int arr[] = {1, 2};`
- 다차원 배열: `int arr[3][4];`
- 문자열 배열: `char str[20];` 또는 `char str[] = "text";`
- C++11 부터는 `std::array` 권장
---
배열은 동일한 데이터 타입의 요소들을 연속적으로 저장하는 자료구조로, 고정된 크기를 가지며 인덱스를 통해 각 요소에 접근할 수 있습니다.
아래에서는 C++에서 배열을 선언하는 방법에 대해 자세히 설명하겠습니다.
1. 기본 배열 선언 C++에서 배열을 선언하는 기본적인 방법은 다음과 같습니다: ```cpp data_type array_name[array_size]; ``` - `data_type`: 배열에 저장할 데이터의 타입 (예: `int`, `float`, `char`, `double` 등) - `array_name`: 배열의 이름 - `array_size`: 배열의 크기 (정수 값) 예를 들어, 정수형 배열을 5개의 요소로 선언하려면 다음과 같이 작성합니다: ```cpp int myArray[5]; ``` 이렇게 선언하면 `myArray`라는 이름의 정수형 배열이 생성되며, 0부터 4까지의 인덱스를 가진 5개의 요소를 가집니다.
2. 배열 초기화 배열을 선언할 때 동시에 초기화할 수도 있습니다.
초기화는 중괄호 `{}`를 사용하여 수행합니다.
```cpp int myArray[5] = {1, 2, 3, 4, 5}; ``` 위의 예제에서는 `myArray`의 각 요소가 1, 2, 3, 4, 5로 초기화됩니다.
만약 초기화할 요소의 수가 배열의 크기보다 적으면 나머지 요소는 0으로 초기화됩니다.
```cpp int myArray[5] = {1, 2}; // myArray[2], myArray[3], myArray[4]는 0으로 초기화됨 ```
3. 배열의 크기 C++에서는 배열의 크기를 컴파일 타임에 결정해야 합니다.
즉, 배열의 크기는 상수여야 하며, 변수나 계산된 값으로 설정할 수 없습니다.
그러나 C++11부터는 `std::array`를 사용하여 동적 크기를 지원하는 배열을 사용할 수 있습니다.
4. 다차원 배열 C++에서는 다차원 배열도 지원합니다.
가장 일반적인 형태는 2차원 배열입니다.
2차원 배열은 다음과 같이 선언할 수 있습니다: ```cpp data_type array_name[array_size1][array_size2]; ``` 예를 들어, 3행 4열의 정수형 2차원 배열을 선언하려면 다음과 같이 작성합니다: ```cpp int my2DArray[3][4]; ``` 이 배열은 3개의 행과 4개의 열을 가지며, 각 요소에 접근할 때는 `my2DArray[row][column]` 형식을 사용합니다.
5. 배열의 요소 접근 배열의 요소에 접근할 때는 인덱스를 사용합니다.
인덱스는 0부터 시작하므로, 첫 번째 요소는 `array_name[0]`, 두 번째 요소는 `array_name[1]`와 같이 접근합니다.
```cpp myArray[0] = 10; // 첫 번째 요소에 10을 저장 int value = myArray[1]; // 두 번째 요소의 값을 가져옴 ```
6. 배열의 크기 알아내기 배열의 크기를 알아내기 위해서는 `sizeof` 연산자를 사용할 수 있습니다.
배열의 전체 크기를 배열의 요소 크기로 나누면 배열의 요소 개수를 알 수 있습니다.
```cpp int size = sizeof(myArray) / sizeof(myArray[0]); // 배열의 크기 ```
7. C++11 이후의 배열 C++11부터는 `std::array`와 `std::vector`와 같은 STL(표준 템플릿 라이브러리) 컨테이너를 사용할 수 있습니다.
`std::array`는 고정 크기의 배열을 제공하며, `std::vector`는 동적 크기의 배열을 제공합니다.
이들 컨테이너는 배열보다 더 많은 기능을 제공하므로, 현대 C++에서는 이들을 사용하는 것이 일반적입니다.
```cpp include
배열을 선언하고 초기화하는 방법, 다차원 배열의 사용, 배열의 요소에 접근하는 방법 등을 이해하는 것은 C++ 프로그래밍의 기초입니다.
그러나 현대 C++에서는 `std::array`와 `std::vector`와 같은 STL 컨테이너를 사용하는 것이 더 유연하고 안전한 방법입니다.
작성자:
최승현 [비회원]
| 작성일자: 1년 전
2024-09-20 17:11:26
조회수: 194 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 194 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.