include
int main() {
int n = 5; // 假设我们想要一个 5x5x5 的三维数组
// 但这样声明是不允许的,因为 n 的值在编译时未知
// int f[n][n][n]; // 错误
// 如果 n 是一个编译时常量(例如枚举值或 const 变量),则可以这样声明
// 但这里 n 只是一个变量,所以下面也是错误的
// const int n = 5;
// int f[n][n][n]; // 如果 n 是 const,这将是合法的
// 正确的做法是使用动态内存分配
int ***f = (int ***)malloc(sizeof(int **) * n);
for (int i = 0; i < n; ++i) {
f[i] = (int **)malloc(sizeof(int *) * n);
for (int j = 0; j < n; ++j) {
f[i][j] = (int *)malloc(sizeof(int) * n);
// 初始化数组...
}
}
// 使用数组...
// 释放内存...
return 0;
}