삼중 포인터에 동적메모리를 할당하여 실행해봤지만 힙에대한 오류 메세지가 뜨는데 왜이런지 잘 모르겠습니다. 소크 코드는 이렇게 됩니다
char ***s1 = malloc(sizeof(char **) * 2);
for (int i = 0; i < 2; i++)
{
s1[i] = malloc(sizeof(char *) * 2);
for (int j = 0; j < 2; j++)
{
s1[i][j] = malloc(sizeof(char) * 4);
}
}
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 2; j++)
{
for (int k = 0; k < 4; k++)
{
scanf("%s", &s1[i][j][k]);
}
}
}
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 2; j++)
{
for (int k = 0; k < 4; k++)
{
printf("%c ", s1[i][j][k]);
}
printf("\n");
}
printf("\n");
}
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 2; j++)
{
free(s1[i][j]);
}
free(s1[i]);
}
free(s1);
return 0;
아무리 생각해봐도 뭐가 문제인지 잘 모르겠습니다....
Hello
H
e
l
l
o