C 언어
이 튜토리얼에서는 2차원 배열의 예를 사용하여 C#의 다차원 배열에 대해 배웁니다.
다차원 배열에 대해 배우기 전에 C#의 1차원 배열에 대해 알아야 합니다.
다차원 배열에서 배열의 각 요소는 배열이기도 합니다. 예를 들어,
int[ , ] x = { { 1, 2 ,3}, { 3, 4, 5 } };
여기서 x {1, 2, 3}의 두 요소가 있는 다차원 배열입니다. 및 {3, 4, 5} . 그리고 배열의 각 요소는 3 요소.
<시간>2차원 배열은 1차원 배열을 요소로 사용합니다. 특정 수의 행과 열이 있는 테이블로 나타낼 수 있습니다.
<그림>여기 행 {1, 2, 3} 및 {3, 4, 5} 2D 배열의 요소입니다.
다음은 C#에서 2D 배열을 선언하는 방법입니다.
int[ , ] x = new int [2, 3];
여기서 x 2가 있는 2차원 배열입니다. 집단. 또한 각 요소는 3 요소.
따라서 어레이는 모두 6을 저장할 수 있습니다. 요소(2 * 3 ).
참고:단일 쉼표 [ , ]는 배열이 2차원임을 나타냅니다.
<시간>C#에서는 선언 중에 배열을 초기화할 수 있습니다. 예를 들어,
int[ , ] x = { { 1, 2 ,3}, { 3, 4, 5 } };
여기서 x {1, 2, 3}
요소가 두 개인 2D 배열입니다. 및 {3, 4, 5}
. 배열의 각 요소도 배열임을 알 수 있습니다.
초기화하는 동안 행과 열의 수를 지정할 수도 있습니다. 예를 들어,
int [ , ] x = new int[2, 3]{ {1, 2, 3}, {3, 4, 5} };
<시간> 인덱스 번호를 사용하여 2D 배열의 요소에 액세스합니다. 예를 들어,
// a 2D array
int[ , ] x = { { 1, 2 ,3}, { 3, 4, 5 } };
// access first element from first row
x[0, 0]; // returns 1
// access third element from second row
x[1, 2]; // returns 5
// access third element from first row
x[0, 2]; // returns 3
<그림> <시간>
using System;
namespace MultiDArray {
class Program {
static void Main(string[] args) {
//initializing 2D array
int[ , ] numbers = {{2, 3}, {4, 5}};
// access first element from the first row
Console.WriteLine("Element at index [0, 0] : "+numbers[0, 0]);
// access first element from second row
Console.WriteLine("Element at index [1, 0] : "+numbers[1, 0]);
}
}
}
출력
Element at index [0, 0] : 2 Element at index [1, 0] : 4
위의 예에서 numbers라는 2D 배열을 만들었습니다. {2, 3} 행 포함 및 {4, 5} .
여기에서 인덱스 번호를 사용하여 2D 배열의 요소에 액세스합니다.
numbers[0, 0]
- 첫 번째 행의 첫 번째 요소에 액세스(2 )numbers[1, 0]
- 두 번째 행의 첫 번째 요소에 액세스(4 )2차원 배열의 요소를 변경할 수도 있습니다. 요소를 변경하려면 해당 특정 인덱스에 새 값을 할당하기만 하면 됩니다. 예를 들어,
using System;
namespace MultiDArray {
class Program {
static void Main(string[] args) {
int[ , ] numbers = {{2, 3}, {4, 5}};
// old element
Console.WriteLine("Old element at index [0, 0] : "+numbers[0, 0]);
// assigning new value
numbers[0, 0] = 222;
// new element
Console.WriteLine("New element at index [0, 0] : "+numbers[0, 0]);
}
}
}
출력
Old element at index [0, 0] : 2 New element at index [0, 0] : 222
위의 예에서 인덱스 [0, 0]의 초기 값은 2입니다. . 줄을 주목하십시오.
// assigning new value
numbers[0, 0] = 222;
여기에 새 값 222를 할당합니다. 색인 [0, 0]에서 . 이제 인덱스 [0, 0]의 값 2에서 변경됨 222로 .
<시간>
using System;
namespace MultiDArray {
class Program {
static void Main(string[] args) {
int[ , ] numbers = { {2, 3, 9}, {4, 5, 9} };
for(int i = 0; i < numbers.GetLength(0); i++) {
Console.Write("Row "+ i+": ");
for(int j = 0; j < numbers.GetLength(1); j++) {
Console.Write(numbers[i, j]+" ");
}
Console.WriteLine();
}
}
}
}
출력
Row 0: 2 3 9 Row 1: 4 5 9
위의 예에서 중첩 for 루프를 사용하여 2D 배열의 요소를 반복했습니다. 여기,
numbers.GetLength(0)
- 2D 배열의 행 수 제공numbers.GetLength(1)
- 행의 요소 수 제공참고 :3차원 배열을 생성할 수도 있습니다. 기술적으로 3D 배열은 여러 2차원 배열을 요소로 포함하는 배열입니다. 예를 들어,
int[ , , ] numbers = { { { 1, 3, 5 }, { 2, 4, 6 } },
{ { 2, 4, 9 }, { 5, 7, 11 } } };
여기, [ , , ]
(쉼표 2개)는 3D 배열을 나타냅니다.
C 언어
동일한 유형의 요소에 대한 고정 크기 순차 컬렉션을 저장할 수 있는 일종의 데이터 구조를 배열합니다. 배열은 데이터 모음을 저장하는 데 사용되지만 종종 배열을 같은 유형의 변수 모음으로 생각하는 것이 더 유용합니다. number0, number1, ..., number99와 같은 개별 변수를 선언하는 대신 숫자와 같은 하나의 배열 변수를 선언하고 숫자[0], 숫자[1], ..., 숫자[99]를 사용하여 표현합니다. 개별 변수. 배열의 특정 요소는 인덱스에 의해 액세스됩니다. 모든 배열은 연속적인 메모리 위치로 구성됩니다. 가장
배열은 동일한 유형의 요소에 대한 고정 크기 순차 컬렉션을 저장합니다. 배열은 데이터 모음을 저장하는 데 사용되지만 배열을 인접한 메모리 위치에 저장된 동일한 유형의 변수 모음으로 생각하는 것이 더 유용합니다. number0, number1, ..., number99와 같은 개별 변수를 선언하는 대신 숫자와 같은 하나의 배열 변수를 선언하고 숫자[0], 숫자[1], ..., 숫자[99]를 사용하여 표현합니다. 개별 변수. 배열의 특정 요소는 인덱스에 의해 액세스됩니다. 모든 배열은 연속적인 메모리 위치로 구성됩니다. 가장 낮은