프로그래머/CPP_강의정리

cpp 다차원 배열

미역국마싯 2021. 9. 14. 22:12

다차원 배열

int apartment2D[2][5] = { { 1, 2, 3, 4, 5 }, { 1, 2, 3, 4, 5 } };

다차원 배열을 쉽게 생각하면, 아파트 1층 101호, 2층 204호처럼 층과 호로 이뤄진 배열이라고 보면 된다.

현재 아파트는 2층이며 각 층마다 5개의 호실이 존재한다.

이때 어셈블리 관점에서 보면 1층부터 2층까지 모든 호실은 서로 연속적으로 이어져 있다는게 중요하다.

 

// apartment2D[ 0~1 ][ 0~4 ]
for (int floor = 0; floor < 2; floor++)
{
	for (int room = 0; room < 5; room++)
	{
		int num = apartment2D[floor][room];
		cout << num << " ";
	}
	cout << endl;
}

배열은 for문과 단짝이라는 것을 상기하자.

해당 코드는 2차원 배열을 모니터로 출력하는 것이다.

추가로 1차원 배열이나 2차원 배열이나 어셈블리 관점에서는 서로 차이가 없다.

 

2D 로그라이크 맵

int map[5][5] =
{
	{ 1, 1, 1, 1, 1},
	{ 1, 1, 0, 0, 1},
	{ 0, 0, 0, 0, 1},
	{ 1, 1, 1, 0, 0},
	{ 1, 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;
	}
	cout << endl;
}

 

 

 

출처

https://www.inflearn.com/course/%EC%96%B8%EB%A6%AC%EC%96%BC-3d-mmorpg-1/dashboard

 

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 - 인프런 | 강의

시리즈를 원활하게 학습하기 위한 기초적인 C++ 문법들에 대해 학습합니다. 어셈블리 언어부터 시작해서 기본 C++ 문법, STL, C++11까지 핵심적인 내용을 압축해서 다루게 됩니다., - 강의 소개 | 인

www.inflearn.com

 

'프로그래머 > CPP_강의정리' 카테고리의 다른 글

cpp 객체 지향(1-설계도)  (0) 2021.09.16
cpp 파일 관리  (0) 2021.09.16
cpp 포인터와 배열  (0) 2021.09.14
cpp 배열  (0) 2021.09.14
cpp 값 전달 방식  (0) 2021.09.13