TISTORY 뷰

2016년 계리직 컴퓨터 일반 문제 A책형



10. <보기>에 선언된 배열 A의 원소 A[8][7]의 주소를 행우선(row-major)순서와 열우선(column-major) 순서로 각각 바르게 계산한 것은? (단, 첫 번째 원소 A[0][0]의 주소는 1,000이고, 하나의 원소는 1byte를 차지한다)


<보기>
char A[20][30];


행 우선 주소, 열 우선 주소는?




2016년 계리직 컴퓨터 문제는 처음 봤는데, 옛날 학부생 때 배운 자료구조의 배열이네요.

기억이 말똥말똥 @_@


학부생이 아닌 다음에야,

사실 배움을 원하는 게 아니고 시험에서 맞히냐 못 맞히냐가 더 중요한 분들이 많으시기에... 그냥 공식만 암기하시면 됩니다.


전체 배열에서 원하는 행.열의 주소를 찾는 공식은...


전체 배열 A[20][30] // 찾을 행열 A[8][7] 이라면,

1. 행 우선 = 시작주소 + (찾을 행 * 전체 열 + 찾을 열)
1. 행 우선 = 1,000 + (8 * 30 + 7) = 1,247

2. 우선 = 시작주소 + (전체 * 찾을 + 찾을 ) // 행 우선 = 열 행 열(열행열)
2. 행 우선 = 1,000 + (30  * 8 + 7) = 1,247

3. 열 우선 = 시작주소 + (찾을 열 * 전체 행 + 찾을 행)
3. 열 우선 = 1,000 + (7 * 20 + 8) = 1,148

4. 우선 = 시작주소 + (전체 * 찾을 + 찾을 ) // 열 우선 = 행 열 행(행열행)
4. 열 우선 = 1,000 + (20 * 7 + 8) = 1,148


2, 4번 공식 추천!

2. 우선 = 시작주소 + (전체 * 찾을 + 찾을 ) // 행 우선 = 열 행 열(열행열)

4. 우선 = 시작주소 + (전체 * 찾을 + 찾을 ) // 열 우선 = 행 열 행(행열행)



2016년에 2차원 배열이 나왔으니, 3차원 배열 공식도 이번 기회에...


3차원 배열은 면!행!열!


3차원 배열 행 우선은

int a[X] [Y] [Z];
a[A] [B] [C] = base + ((A * Y * Z + B * Z) + C)  * sizeof(int)


그럼 3차원 배열 열 우선은??


2018 계리직 한국사 대비 우정 역사 연표(삼국 ~ 현대) + 금융 역사

댓글
댓글쓰기 폼
«   2018/05   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
Total
7,205,913
Today
60
Yesterday
405