C#에서 배열을 선언하고 초기화하는 방법은?
_____A1: 배열 선언은 데이터 타입 뒤에 대괄호[]를 붙이고 변수 이름을 쓰는 방식입니다. 예를 들어, 정수형 배열은 `int[] numbers;` 와 같이 선언합니다.
Q2: 배열을 선언하면서 동시에 크기를 지정하여 초기화하려면 어떻게 하나요?
A2: 배열을 선언하며 동시에 크기를 지정하려면 `new` 키워드를 사용합니다. 예:
```csharp
int[] numbers = new int[5]; // 크기가 5인 int 배열 선언 및 초기화
```
Q3: 배열을 선언하고 값을 직접 초기화하는 방법은?
A3: 선언 시 중괄호 `{}` 안에 값을 나열해서 초기화할 수 있습니다. 예:
```csharp
int[] numbers = {1, 2, 3, 4, 5};
```
또는 `new` 키워드와 함께 사용할 수도 있습니다.
```csharp
int[] numbers = new int[] {1, 2, 3, 4, 5};
```
Q4: 배열의 각 요소에 초기값을 지정하지 않으면 어떻게 되나요?
A4: 배열의 각 요소는 데이터 타입의 기본값으로 초기화됩니다. 예를 들어 정수 배열은 0, 문자열 배열은 null, bool 배열은 false로 자동 초기화됩니다.
Q5: 다차원 배열을 선언하고 초기화하는 방법은?
A5: 다차원 배열은 쉼표로 차원을 구분합니다. 예:
```csharp
int[,] matrix = new int[3, 3]; // 3x3 2차원 배열
int[,] matrix2 = { {1, 2}, {3, 4} }; // 초기값 지정
```
Q6: 배열과 리스트(Array와 List)의 차이점은 무엇인가요?
Q7: 빈 배열을 선언해서 나중에 값을 채우려면 어떻게 하나요?
A7: 크기를 지정한 배열을 선언 후 값을 할당할 수 있습니다. 예:
```csharp
string[] names = new string[3];
names[0] = "Alice";
names[1] = "Bob";
names[2] = "Charlie";
```
Q8: 배열의 크기를 변경하려면 어떻게 해야 하나요?
A8: 배열 크기는 고정되어 변경할 수 없습니다. 크기를 변경하려면 새 배열을 만들고 기존 값들을 복사해야 합니다. 또는 List
Q9: 배열 초기화 시 타입을 생략할 수 있나요?
A9: 변수 선언과 동시에 초기값을 지정하면 타입을 생략할 수 있습니다. 예:
```csharp
var numbers = new[] { 1, 2, 3 };
```
컴파일러가 타입을 추론합니다.
Q10: 문자열 배열을 초기화하는 예제는?
A10:
```csharp
string[] fruits = { "Apple", "Banana", "Cherry" };
```
또는
```csharp
string[] fruits = new string[] { "Apple", "Banana", "Cherry" };
```
배열은 동일한 데이터 타입의 요소들을 저장할 수 있는 데이터 구조로, 고정된 크기를 가지며, 각 요소는 인덱스를 통해 접근할 수 있습니다.
아래에서는 배열을 선언하고 초기화하는 다양한 방법을 자세히 설명하겠습니다.
1. 배열 선언 배열을 선언하는 기본적인 방법은 데이터 타입 뒤에 대괄호(`[]`)를 붙이는 것입니다.
예를 들어, 정수형 배열을 선언하려면 다음과 같이 합니다.
```csharp int[] numbers; ``` 이렇게 선언한 배열은 아직 메모리에 공간을 할당하지 않았기 때문에, 요소에 접근하려고 하면 오류가 발생합니다.
2. 배열 초기화 배열을 초기화하는 방법은 여러 가지가 있습니다.
2.1. 크기를 지정하여 초기화 배열을 선언할 때 크기를 지정하여 초기화할 수 있습니다.
예를 들어, 크기가 5인 정수형 배열을 초기화하려면 다음과 같이 합니다.
```csharp int[] numbers = new int[5]; ``` 이렇게 하면 `numbers` 배열은 5개의 정수형 요소를 가질 수 있으며, 기본값으로 각 요소는 0으로 초기화됩니다.
2.2. 초기값을 지정하여 초기화 배열을 선언하면서 동시에 초기값을 지정할 수도 있습니다.
이 경우, 크기를 명시할 필요가 없습니다.
```csharp int[] numbers = new int[] { 1, 2, 3, 4, 5 }; ``` 또는 배열 초기화 구문을 사용하여 더 간결하게 작성할 수도 있습니다.
```csharp int[] numbers = { 1, 2, 3, 4, 5 }; ```
2.3. 다차원 배열 초기화 C 에서는 다차원 배열도 지원합니다.
예를 들어, 2x3 크기의 2차원 배열을 초기화하려면 다음과 같이 합니다.
```csharp int[,] matrix = new int[2, 3]; ``` 이렇게 하면 2행 3열의 배열이 생성됩니다.
초기값을 지정하여 초기화하려면 다음과 같이 할 수 있습니다.
```csharp int[,] matrix = new int[,] { { 1, 2, 3 }, { 4, 5, 6 } }; ``` 또는 간결하게: ```csharp int[,] matrix = { { 1, 2, 3 }, { 4, 5, 6 } }; ```
2.4. 가변 길이 배열(역할 배열) C 에서는 가변 길이 배열도 지원합니다.
이 배열은 각 행이 서로 다른 길이를 가질 수 있습니다.
예를 들어: ```csharp int[][] jaggedArray = new int[2][]; jaggedArray[0] = new int[3] { 1, 2, 3 }; jaggedArray[1] = new int[2] { 4, 5 }; ``` 위의 예제에서 `jaggedArray`는 2개의 행을 가지며, 첫 번째 행은 3개의 요소를, 두 번째 행은 2개의 요소를 가집니다.
3. 배열 요소에 접근하기 배열의 요소에 접근하기 위해서는 인덱스를 사용합니다.
인덱스는 0부터 시작합니다.
예를 들어, 위에서 초기화한 `numbers` 배열의 첫 번째 요소에 접근하려면 다음과 같이 합니다.
```csharp int firstNumber = numbers[0]; // 1 ``` 2차원 배열의 경우, 행과 열의 인덱스를 사용하여 접근합니다.
```csharp int value = matrix[1, 2]; // 6 ```
4. 배열의 길이 배열의 길이는 `Length` 속성을 통해 확인할 수 있습니다.
예를 들어: ```csharp int length = numbers.Length; // 5 ``` 2차원 배열의 경우, 각 차원의 길이를 `GetLength` 메서드를 사용하여 확인할 수 있습니다.
```csharp int rows = matrix.GetLength(0); // 2 int columns = matrix.GetLength(1); // 3 ```
5. 배열의 반복 처리 배열의 요소를 반복 처리할 때는 `for` 루프나 `foreach` 루프를 사용할 수 있습니다.
예를 들어: ```csharp foreach (int number in numbers) { Console.WriteLine(number); } ``` 이렇게 하면 `numbers` 배열의 모든 요소를 출력할 수 있습니다.
결론 C 에서 배열을 선언하고 초기화하는 방법은 다양하며, 필요에 따라 적절한 방법을 선택할 수 있습니다.
배열은 고정된 크기를 가지므로, 크기를 변경해야 할 경우에는 새로운 배열을 생성하고 기존 배열의 요소를 복사해야 합니다.
이러한 특성을 이해하고 활용하면 C 에서 배열을 효과적으로 사용할 수 있습니다.
작성자:
정수진 [비회원]
| 작성일자: 1년 전
2024-09-09 08:38:52
조회수: 308 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 308 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.