mallocで2次元配列を扱う

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#include <math.h>
int main() {
	char** strs;
	strs = (char**)malloc(sizeof(char*) * 10);
	if (strs == NULL) {
		exit(1);
	}
	for (int i = 0; i < 10; i++) {
		strs[i] = (char*)malloc(10);
		if (strs[i] == NULL) {
			exit(1);
		}
	}
	(void)scanf("%s", strs[0]);
	//strcpy(strs[1], "kakiku");

	printf("%s\n", strs[0]);
	//printf("%s\n", strs[1]);
	for (int i = 0; i < 10; i++) {
		free(strs[i]);
	}
	free(strs);
	return 0;
}

この記事が気に入ったらサポートをしてみませんか?