int apartment2D[2][5] = { { 4, 2, 3, 4, 1 }, { 1, 1, 5, 2, 2 } };
mov dword ptr [apartment2D],4
mov dword ptr [ebp-28h],2
mov dword ptr [ebp-24h],3
mov dword ptr [ebp-20h],4
mov dword ptr [ebp-1Ch],1
mov dword ptr [ebp-18h],1
mov dword ptr [ebp-14h],1
mov dword ptr [ebp-10h],5
mov dword ptr [ebp-0Ch],2
mov dword ptr [ebp-8],2
int apartment1D[10] = { 4, 2, 3, 4, 1, 1, 1, 5, 2, 2 };
mov dword ptr [apartment1D],4
mov dword ptr [ebp-58h],2
mov dword ptr [ebp-54h],3
mov dword ptr [ebp-50h],4
mov dword ptr [ebp-4Ch],1
mov dword ptr [ebp-48h],1
mov dword ptr [ebp-44h],1
mov dword ptr [ebp-40h],5
mov dword ptr [ebp-3Ch],2
mov dword ptr [ebp-38h],2
for (int floor = 0; floor < 2; floor++)
mov dword ptr [ebp-68h],0
jmp main+0C6h (0A2616h)
mov eax,dword ptr [ebp-68h]
add eax,1
mov dword ptr [ebp-68h],eax
cmp dword ptr [ebp-68h],2
jge main+146h (0A42696h)
{
for (int room = 0; room < 5; room++)
mov dword ptr [ebp-74h],0
jmp main+0DEh (0A4262Eh)
mov eax,dword ptr [ebp-74h]
add eax,1
mov dword ptr [ebp-74h],eax
cmp dword ptr [ebp-74h],5
jge main+127h (0A42677h)
{
int index = (floor * 5) + room;
imul eax,dword ptr [ebp-68h],5
add eax,dword ptr [ebp-74h]
mov dword ptr [ebp-80h],eax
int num = apartment1D[index];
mov eax,dword ptr [ebp-80h]
mov ecx,dword ptr apartment1D[eax*4]
mov dword ptr [ebp-8Ch],ecx
cout << num << " ";
...
}
jmp main+0D5h (0A42625h)
cout << endl;
...
}
jmp main+0BDh (0A4260Dh)
for (int floor = 0; floor < 2; floor++)
{
for (int room = 0; room < 5; room++)
{
int num = apartment2D[floor][room];
imul eax,dword ptr [ebp-98h], 14h
lea ecx,apartment2D[eax]
mov edx,dword ptr [ebp-0A4h]
mov eax,dword ptr [ecx+edx*4]
mov dword ptr [eb-0B0h],eax
cout << num << " ";
}
}
return 0;
xor eax, eax
}
...
다차원 배열은 연속적인 메모리상에 위치한다.