반응형


2차원 배열 포인터에 대해서 정리하자.



동적할당을 공부해보면

int* i = new int()


이렇게 할당할 것이다.

그렇다면


int** map = new int* [10] 의 경우는 어떨까?


for(int i=0; i<10; ++i)

*(map+i) = new int[10];


이렇게하면 된다. 

그림으로 하면

 0 map

 

 

 

 

 

 

 

 

 

1 map

 

 

 

 

 

 

 

 

 

 2 map

 

 

 

 

 

 

 

 

 

3 map

 

 

 

 

 

 

 

 

 

 4 map

 

 

 

 

 

 

 

 

 

 5 map

 

 

 

 

 

 

 

 

 

6 map

 

 

 

 

 

 

 

 

 

7 map

 

 

 

 

 

 

 

 

 

8 map

 

 

 

 

 

 

 

 

 

9 map

 

 

 

 

 

 

 

 

 


0~9의 맵에 다시 동적으로 할당을 해주는 것이다


그래서


for(int i=0; i<10; ++i)

*(map+i) = new int[10];

을 쓴거다.



반응형

'프로그래밍 > C, C++' 카테고리의 다른 글

[C++] 데이터 자료형 정리 와 WORD, DWORD  (0) 2022.06.14
파일 입출력.(fseek, ftell, fwrite, fread)  (0) 2017.09.29
malloc과 new의 차이.  (0) 2017.09.07
#pragma pack -2  (0) 2017.09.07
#pragma pack - 1  (0) 2017.09.07

+ Recent posts