2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

C#에서 배열을 어떻게 선언하고 초기화하나요?

_____
Q1: C 에서 배열을 선언하는 기본 문법은 무엇인가요?
A1: 배열을 선언할 때는 타입 뒤에 대괄호 `[]`를 붙이고 변수명을 씁니다. 예:
```csharp
int[] numbers;
string[] names;
```

Q2: 배열을 선언과 동시에 초기화하려면 어떻게 하나요?
A2: 배열을 선언과 동시에 값으로 초기화할 수 있습니다. 예:
```csharp
int[] numbers = new int[] { 1, 2, 3, 4 };
string[] names = { "Alice", "Bob", "Charlie" }; // new 연산자 생략 가능
```

Q3: 배열을 특정 크기로 초기화만 하려면 어떻게 하나요?
A3: 크기만 지정하고 값은 기본값으로 초기화합니다. 예:
```csharp
int[] numbers = new int[5]; // 5개의 int 요소가 기본값 0으로 초기화
```

Q4: 다차원 배열 선언과 초기화 방법은?
A4: 2차원 배열은 타입 뒤에 `[ , ]`를 씁니다.
```csharp
int[,] matrix = new int[3, 4]; // 3행 4열 배열 선언
int[,] matrix2 = { {1,2}, {3,4}, {5,6} }; // 초기화
```

Q5: 가변 배열(배열의 배열) 선언법은?
A5: 각 차원의 크기가 가변인 배열을 선언하려면 배열 배열을 사용합니다.
```csharp
int[][] jaggedArray = new int[3][];
jaggedArray[0] = new int[2];
jaggedArray[1] = new int[4];
```

Q6: 배열 초기화 시 타입 생략 가능한가요?
A6: 배열을 선언과 동시에 초기화할 때는 컴파일러가 타입을 추론해 타입을 생략할 수 있습니다. 예:
```csharp
var numbers = new[] { 1, 2, 3 }; // int[] 타입으로 추론됨
```

Q7: 배열 요소에 직접 접근해서 값을 할당하는 방법은?
A7: 인덱스를 사용해 요소에 접근할 수 있습니다.
```csharp
int[] numbers = new int[3];
numbers[0] = 10;
numbers[1] = 20;
```

Q8: 배열과 리스트의 차이점은요?
A8: 배열은 크기가 고정되어 있지만, `List`는 크기가 동적입니다. 배열은 선언 시 크기를 반드시 정해야 합니다.

---

요약하면, C 배열 선언 및 초기화 기본 예시는 다음과 같습니다:
```csharp
int[] arr1; // 선언
int[] arr2 = new int[5]; // 크기 지정, 기본값으로 초기화
int[] arr3 = new int[] {1, 2, 3}; // 선언과 동시에 초기화
int[] arr4 = {4, 5, 6}; // new 생략 가능
```
C 에서 배열은 동일한 데이터 타입의 여러 값을 저장할 수 있는 데이터 구조입니다.

배열은 고정 크기를 가지며, 한 번 생성된 배열의 크기는 변경할 수 없습니다.

배열을 선언하고 초기화하는 방법은 여러 가지가 있으며, 아래에서 자세히 설명하겠습니다.

배열 선언 배열을 선언하기 위해서는 다음과 같은 구문을 사용합니다: ```csharp dataType[] arrayName; ``` 여기서 `dataType`은 배열에 저장할 데이터의 타입을 의미하며, `arrayName`은 배열의 이름입니다.

예를 들어, 정수형 배열을 선언하려면 다음과 같이 작성합니다: ```csharp int[] numbers; ``` 배열 초기화 배열을 선언한 후에는 배열을 초기화해야 합니다.

배열을 초기화하는 방법에는 여러 가지가 있습니다.

1. 크기를 지정하여 초기화 배열을 선언할 때 크기를 지정하여 초기화할 수 있습니다.

다음은 크기가 5인 정수형 배열을 초기화하는 예입니다: ```csharp int[] numbers = new int[5]; ``` 이렇게 하면 `numbers` 배열은 5개의 정수형 요소를 가질 수 있으며, 각 요소는 기본값인 0으로 초기화됩니다.



2. 초기값을 지정하여 초기화 배열을 선언할 때 초기값을 함께 지정할 수도 있습니다.

이 경우 배열의 크기는 자동으로 결정됩니다.

다음은 초기값을 지정하여 배열을 초기화하는 예입니다: ```csharp int[] numbers = new int[] { 1, 2, 3, 4, 5 }; ``` 또는 `new int[]`를 생략할 수도 있습니다: ```csharp int[] numbers = { 1, 2, 3, 4, 5 }; ```

3. 다차원 배열 C 에서는 다차원 배열도 지원합니다.

예를 들어, 2차원 배열을 선언하고 초기화하는 방법은 다음과 같습니다: ```csharp int[,] matrix = new int[3, 3]; // 3x3 크기의 2차원 배열 ``` 초기값을 지정하여 2차원 배열을 초기화할 수도 있습니다: ```csharp int[,] matrix = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }; ```

4. 가변 길이 배열 (Jagged Array) C 에서는 가변 길이 배열, 즉 각 행의 길이가 다른 배열을 만들 수 있습니다.

이를 "Jagged Array"라고 합니다.

다음은 Jagged Array를 선언하고 초기화하는 예입니다: ```csharp int[][] jaggedArray = new int[3][]; jaggedArray[0] = new int[] { 1, 2 }; jaggedArray[1] = new int[] { 3, 4, 5 }; jaggedArray[2] = new int[] { 6, 7, 8, 9 }; ``` 또는 초기값을 지정하여 한 번에 초기화할 수도 있습니다: ```csharp int[][] jaggedArray = new int[][] { new int[] { 1, 2 }, new int[] { 3, 4, 5 }, new int[] { 6, 7, 8, 9 } }; ``` 배열 요소에 접근하기 배열의 각 요소는 인덱스를 사용하여 접근할 수 있습니다.

인덱스는 0부터 시작하므로, 첫 번째 요소는 `arrayName[0]`로 접근합니다.

예를 들어, 위에서 선언한 `numbers` 배열의 첫 번째 요소에 접근하려면 다음과 같이 작성합니다: ```csharp int firstNumber = numbers[0]; // 1 ``` 배열의 길이 배열의 길이는 `Length` 속성을 사용하여 확인할 수 있습니다.

예를 들어, `numbers` 배열의 길이를 확인하려면 다음과 같이 작성합니다: ```csharp int length = numbers.Length; // 5 ``` 결론 C 에서 배열은 데이터를 효율적으로 저장하고 관리하는 데 유용한 데이터 구조입니다.

배열을 선언하고 초기화하는 방법은 다양하며, 상황에 따라 적절한 방법을 선택하여 사용할 수 있습니다.

배열의 크기는 고정되어 있으므로, 필요한 경우에는 다른 데이터 구조(예: 리스트)를 고려하는 것이 좋습니다.

배열의 기본적인 사용법을 이해하면 C 프로그래밍에서 더 복잡한 데이터 구조를 다루는 데 큰 도움이 될 것입니다.

작성자: 박민아 [비회원] | 작성일자: 1년 전 2024-09-09 08:39:09
조회수: 286 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.