U E D R , A S I H C RSS

새싹교실/2020/새싹부터나무까지/다차원배열할당

다차원 공간의 할당: 규격을 모를 때



#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;
}

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-16 14:07:53
Processing time 0.0112 sec