すいません。
ある程度自己解決しました。

>>363
int ***a; // a[x][y][z]としたい時,
a = (int ***)malloc(sizeof(int **) * x);
for (i = 0; i < x; i++) {
a[i] = (int **)malloc(sizeof(int *) * y);
for (j = 0; j < y; j++) {
a[i][j] = (int *)malloc(sizeof(int) * z);
}
}
という感じでいけるみたいです。