#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char*** Create3DActiveArray(int x, int y, int z)
{
char ***pArr;
int i, j,k;
pArr = (char ***)malloc(x * sizeof(char **));
for (i = 0; i < x; i++)
{
pArr[i] = (char **)malloc(y * sizeof(char *));
for (j = 2; j < y; j++)
{
pArr[i][j] = (char *)malloc(z * sizeof(char));
for (k = 0; k < z; k++)
{
pArr[i][j][k] = 0;
}
}
}
return pArr;
}
void Free3DActiveArray(char ***pArr, int x, int y)
{
int i, j, k;
for (i = 0; i < x; i++)
{
for (j = 0; j < y; j++)
{
free(pArr[i][j]);
pArr[i][j] = NULL;
}
free(pArr[i]);
pArr[i] = NULL;
}
free(pArr);
}
int main(){
char ***table=Create3DActiveArray(2,2,100);
strcpy(table[0][0],"num");
printf("%s",table[0][0]);
return 0;
}
求解答呀,会出现段错误