본문 바로가기

기타

[QnA] 프로그래밍 C 언어 문제 열우선순서

반응형

 

   프로그래밍 C언어 문제 열우선순서


 

  열우선 순서(column major order)로 배열을 저장할 때 TAB[5, 10]으로 선언된 경우   TAB[2, 5]이 위치하는 주소는  (, 시작주소는 1000, 각 요소의 크기는 2 byte, 배열의 첨자는 0부터 시작하는것으로 가정한다)

 

① 1024         ② 1054         ③ 1078          ④ 1100

 

 

 

행우선  0 1 2 3 4 5 6 7 8 9
0 1000 1002 1004 1006 1008 1010 1012 1014 1016 1018
1 1020 1022 1024 1026 1028 1030 1032 1034 1036 1038
2 1040 1042 1044 1046 1048 1050 1052 1054 1056 1058
3 1060 1062 1064 1066 1068 1070 1072 1074 1076 1078
4 1080 1082 1084 1086 1088 1090 1092 1094 1096 1098
행우선 :: TAB[2, 5] ==> TAB[(2*10)+5] ==> TAB[25] ==> 1000 + 25 * 2 = 1050
 
 
열우선 :: TAB[2, 5] ==> TAB[(5*5)+2] ==> TAB[27] ==> 1000 + 27 * 2 = 1054
 
 

 

열우선  0 1 2 3 4 5 6 7 8 9
0 1000 1010 1020 1030 1040 1050 1060 1070 1080 1090
1 1002 1012 1022 1032 1042 1052 1062 1072 1082 1092
2 1004 1014 1024 1034 1044 1054 1064 1074 1084 1094
3 1006 1016 1026 1036 1046 1056 1066 1076 1086 1096
4 1008 1018 1028 1038 1048 1058 1068 1078 1088 1098

 

반응형