c 2차원 배열 예제

위에서 설명한 것처럼 만드는 대부분의 배열은 하나 또는 두 개의 차원일 가능성이 있지만 수에 관계없이 차원이 있는 배열을 가질 수 있습니다. 이 이전 프로그램에는 설명을 받을 만한 새로운 것이 없습니다. 우리는 단지 루프에 대해 중첩 된 두 가지를 사용하고 있습니다. 루프에 대한 첫 번째 중첩은 사용자로부터 입력을 받습니다. 그리고 두 번째 for 루프는 행렬처럼 2-D 배열의 요소를 인쇄합니다. 우리는 1 차원 배열 이름이 배열의 기본 요소 (첫 번째 요소)에 대한 포인터로 작동한다는 것을 알고 있습니다. 그러나 2D 배열의 경우 논리는 약간 다릅니다. 2D 배열을 여러 1차원 배열의 컬렉션으로 간주할 수 있습니다. 이러한 유형의 초기화는 중첩된 중괄호를 사용합니다. 내부 중괄호의 각 집합은 하나의 행을 나타냅니다. 위의 예제에서는 총 세 개의 행이 있으므로 내부 중괄호 의 세 세트가 있습니다.

위의 배열에는 3개의 행과 4개의 열이 있습니다. 왼쪽에서 오른쪽으로 중괄호의 요소는 왼쪽에서 오른쪽으로도 테이블에 저장됩니다. 요소는 순서대로 배열로 채워지고, 첫 번째 행의 왼쪽에서 처음 4 개 요소, 두 번째 행의 다음 4 개 요소가 채워집니다. 위의 배열의 개별 요소는 하나 대신 두 개의 하위 스크립트를 사용하여 액세스할 수 있습니다. 첫 번째 하위 설명은 행 번호를 나타내고 두 번째 하위 는 열 번호를 나타냅니다. 위의 이미지에서 볼 수 있듯이 행과 열은 모두 0에서 인덱싱됩니다. 따라서 이 배열의 첫 번째 요소는 arr[0][0]이고 마지막 요소는 arr[1][2]입니다. 다음은 다른 모든 요소에 액세스 하는 방법은: 이 for 루프 c 프로그램에서 2 차원 배열에서 우리가 위에서 설명한 대로 traverss 것입니다. 그러나 합산하는 대신 내부에 printf 문을 사용하여 쉼표 분리가있는 값을 하나씩 표시합니다.

그림 레이블 “2D 배열 개념적 메모리 표현”은 행과 열 의 수를 전환했기 때문에 설명이 잘못되었습니다. IT는 abc[5][4]를 말해야 하며 5개의 행과 4개의 열이 있습니다!!! 사용자가 과일과 가격을 삽입하고 list.use 2차원 배열을 1D 배열에서 인쇄할 수 있는 dev c++ 프로그램을 만들면 선언 및 초기화가 동시에 수행되는 경우 배열 크기를 지정할 필요가 없습니다. 그러나 2D 배열에서는 이 문제가 작동하지 않습니다. 배열의 최소한 두 번째 차원을 정의해야 합니다. 2차원 배열은 다음과 같은 방식으로 선언하고 정의할 수 있습니다. 초기화 2 – 차원 배열: 2차원 배열을 초기화할 수 있는 두 가지 방법이 있습니다. 첫 번째 방법: 다차원 배열은 각 행에 대한 괄호 값을 지정하여 초기화될 수 있습니다. 다음은 3개의 행이 있는 배열이며 각 행에는 4개의 열이 있습니다. 참고: 배열크기가 N인 경우 배열에서. 인덱스는 0에서 N-1까지입니다.

따라서 행 인덱스 2행 번호의 경우 2+1 = 3입니다. 우리는 두 과목, 수학 및 물리학 다섯 학생의 그룹의 평균 점수를 알아 보자. 이렇게 하려면 grades라는 2차원 배열을 사용합니다. 수학에 해당하는 마크는 첫 번째 행(성적[0])에 저장되는 반면, 물리학에 해당하는 마크는 두 번째 행(성적[1])에 저장됩니다. 이 프로그램을 실행할 수 있도록 다음 단계를 완료합니다. 그러나 메모리에서이 배열의 실제 표현은 다음과 같습니다 : 2-D 배열의 구문 선언은 1-D 배열과 크게 다르지 않습니다. 2-D 배열에서는 2-D 배열의 요소를 선언하고 액세스하기 위해 1 대신 2개의 하위 스크립트를 사용합니다. 앞서 설명한 대로 2-D 배열을 행렬로 시각화할 수 있습니다. 다음 프로그램은 두 행렬의 추가를 보여 줍니다.

liftdivision