새싹교실/2020/새싹부터나무까지/다차원배열할당 (rev. 1.1)
다차원 공간의 할당: 규격을 모를 때 ¶
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
char*** data;
int n, m, k;
scanf("%d %d %d", &n, &m, &k); // n>=2, m>=2, k>=12 를 입력해 주세요.
// 동적 할당
data = (char***)malloc(sizeof(char**) * n);
for (int i = 0; i < n; i++) {
data[i] = (char**)malloc(sizeof(char*) * m);
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++)
data[i][j] = (char*)malloc(sizeof(char) * k);
}
// 문자열 입력
strcpy(data[0][0], "Hello");
strcpy(data[0][1], "World!");
strcpy(data[1][0], "2020-2");
strcpy(data[1][1], "programming");
// 문자열 출력
printf("%s\n", data[0][0]);
printf("%s\n", data[0][1]);
printf("%s\n", data[1][0]);
printf("%s\n", data[1][1]);
// 동적할당 해제
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++){
free(data[i][j]);
}
free(data[i]);
}
free(data);
return 0;
}