반응형
https://www.youtube.com/watch?v=_1PiJAjB7Io
유튜브 동빈나 님의 영상을 참고하였습니다.
1차원 배열의 동적 메모리를 넘어서, 2차원 배열의 동적 메모리는 고급 기술로 난이도가 꽤 있습니다. 그래서 복습을 반드시 해주어야 하는 부분이겠습니다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main() {
int i, x, y;
int** pptr = (int**)malloc(sizeof(int*) * 8); //8개의 포인터의 포인터배열 메모리할당
for (i = 0; i < 8; i++)
{
*(pptr + i) = (int*)malloc(sizeof(int) * 6); //6개의 포인터배열
}
for (y = 0; y < 8; y++) //8 * 6개의 배열 원소 초기화
{
for (x = 0; x < 6; x++)
{
*(*(pptr + y) + x) = 6 * y + x;
}
}
for (y = 0; y < 8; y++) //8 * 6개의 배열 원소 출력
{
for (x = 0; x < 6; x++)
{
printf("%3d", *(*(pptr + y) + x));
}
printf("\n");
}
for (y = 0; y < 8; y++) //8개의 포인터의 포인터배열을 메모리 반환
{
free(*(pptr + y));
}
}
/*
0 1 2 3 4 5
6 7 8 9 10 11
12 13 14 15 16 17
18 19 20 21 22 23
24 25 26 27 28 29
30 31 32 33 34 35
36 37 38 39 40 41
42 43 44 45 46 47
*/
반응형
'프로그래밍 언어 > C' 카테고리의 다른 글
[C/C++] Visual Studio2019 에서 헤더 파일 만들고 사용하기 (0) | 2022.02.27 |
---|---|
[c][c언어] 구조체 동적 메모리 할당의 좋은 예제 (0) | 2021.07.15 |