Engineering Note

[C] 2차원 동적 배열 할당 본문

Programming Language/C programming

[C] 2차원 동적 배열 할당

Software Engineer Kim 2021. 4. 6. 15:45

2차원 동적배열 할당

2차원 동적배열 할당

  • map = (int**)malloc(sizeof(int*)*H); 를 통해 세로(높이) 공간을 할당 해준다. map이라는 이중Pointer 변수에 저장해준다.
  • for문을 통해 가로공간을 할당해주고 위에서 할당한 세로 공간에 각 가로의 주소를 저장해준다.
  • for (int i = 0; i < H; ++i) {
    map[i] = (int*)malloc(sizeof(int) * W);
    }

2차원 동적배열 해제

  • 해제할 때는 가로먼저 해제해주고 세로를 먼저 해제해야한다.
  • 가로공간에 접근할 주소를 세로공간이 보관하고 있기때문에 세로공간을 먼저해제 하면 가로공간에 해제시 필요한 주소를 참고할 수 없다.

실습 코드

2차원 동적배열 해제

'Programming Language > C programming' 카테고리의 다른 글

[C] C언어 전화번호부 만들기  (0) 2021.06.10
[C] 14-1 다차원 배열  (0) 2021.04.04
[C] 구조체 포인터 사용하기  (0) 2021.03.03
[C] Struct 구조체  (0) 2021.02.24
[C] 배열  (0) 2021.02.22
Comments