다차원 배열

 

인프런 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;
}

 

 

 

실행화면