다차원 배열

 

인프런 Rookiss님의 'Part1: C++ 프로그래밍 입문' 강의를 기반으로 정리한 필기입니다. 
😎[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 강의 들으러 가기!

 

 

 


 

2차원 배열

 

int main()
{
int a[10] = { 1, 2, 3 };
int first[5] = { 4, 2, 3, 4, 1 };
int second[5] = { 1, 1, 5, 2, 2 };
int apartment2D[2][5] = { { 4, 2, 3, 4, 1 }, { 1, 1, 5, 2, 2 } };
}

 

4 2 3 4 1     1 1 5 2 2   순서로 저장된다. 

 

 


 

배열

 

int apartment2D[2][5] = { { 4, 2, 3, 4, 1 }, { 1, 1, 5, 2, 2 } };
for (int floor = 0; floor < 2; floor++)
{
for (int floor = 0; floor < 2; floor++)
{
// apartment2D + (floor * 20) + 4 * room을 한 주소
int num = apartment2D[floor][room];
cout << num << " ";
}
cout << endl;
}

 

int apartment1D[10] = { 4, 2, 3, 4, 1, 1, 1, 5, 2, 2 };
for (int floor = 0; floor < 2; floor++)
{
for (int floor = 0; floor < 5; floor++)
{
int index = (floor * 5) + room;
// apartment1D + (floor * 20) + 4 * room을 한 주소
int num = apartment1D[index];
cout << num << " ";
}
cout << endl;
}

 

두 개의 코드 출력 결과는 같다.  

 

 

 


 

 

전체 코드

 

더보기
int main()
{
int a[10] = { 1, 2, 3 };
int first[5] = { 4, 2, 3, 4, 1 };
int second[5] = { 1, 1, 5, 2, 2 };
int apartment2D[2][5] = { { 4, 2, 3, 4, 1 }, { 1, 1, 5, 2, 2 } };
for (int floor = 0; floor < 2; floor++)
{
for (int floor = 0; floor < 2; floor++)
{
// apartment2D + (floor * 20) + 4 * room을 한 주소
int num = apartment2D[floor][room];
cout << num << " ";
}
cout << endl;
}
int apartment1D[10] = { 4, 2, 3, 4, 1, 1, 1, 5, 2, 2 };
for (int floor = 0; floor < 2; floor++)
{
for (int floor = 0; floor < 5; floor++)
{
int index = (floor * 5) + room;
// apartment1D + (floor * 20) + 4 * room을 한 주소
int num = apartment1D[index];
cout << num << " ";
}
cout << endl;
}
int map[5][5] =
{
{ 1, 1, 1, 1, 1 },
{ 1, 0, 0, 1, 1 },
{ 0, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0 },
{ 1, 1, 1, 1, 1 },
}
for (int y = 0; y < 5; y++)
{
for (int x = 0; x < 5; x++)
{
int info = map[y][x];
cout << info;
}
}
return 0;
}

 

 

 

실행화면