행우선 열우선 배열

2022. 9. 6. 06:00Study/Programming

반응형

 

배열은 같은 데이터형의 데이터들을 담을 수 있는 공간이다.

 

스택의 배열변수는 힙의 공간을 가리킨다.

 

배열이 메모리에 저장되는 방법에는 행우선과 열우선이 있다.

 

1차원 배열에서는 행우선과 열우선에 관계없이 동일한 방법으로 저장된다.


2차원 배열에서는 행우선과 열우선이 저장되는 방법이 다르다.

 

먼저 행우선은 행단위로 저장된다.

 

3 x 4 배열 A={11,12,13,14,21,22,23,24,31,32,33,34}은 메모리에 다음과 같이 저장된다.

1. 첫번째 행 {11,12,13,14} 저장

2. 두번째 행 {21,22,23,24} 저장

3. 세번째 행 {31,32,33,34} 저장

 

11 12 13 14
21 22 23 24
31 32 33 34

 

열우선은 열단위로 저장된다.

3 x 4 배열 B={11,12,13,14,21,22,23,24,31,32,33,34}은 메모리에 다음과 같이 저장된다.

1. 첫번째 열 {11,21,31} 저장

2. 두번째 열 {12,22,32} 저장

3. 세번째 열 {13,23,33} 저장

4. 네번째 열 {14,24,34} 저장

 

인덱스로 메모리 주소를 찾는 식을 계산하면 다음과 같다.

- m x n 배열 C의 인덱스 i,j의 주소

- 배열 C의 첫번째 원소 주소 c

- 배열 C의 원소의 크기 d

- 행우선 : c + i*n*d  + j*d

- 열우선 : c + j*m*d + i*d

반응형