在C语言中,三元数组(也称为三维数组)可以看作是一个数组的数组,其中每个元素都是一个数组。这里是一个简单的实现方法:
#include <stdio.h>
#include <stdlib.h>
int main() {
// 定义一个三维数组
int ***array;
int x, y, z;
// 设置数组的大小
int x_size = 3;
int y_size = 4;
int z_size = 2;
// 为三维数组分配内存
array = (int ***)malloc(x_size * sizeof(int **));
for (x = 0; x < x_size; x++) {
array[x] = (int **)malloc(y_size * sizeof(int *));
for (y = 0; y < y_size; y++) {
array[x][y] = (int *)malloc(z_size * sizeof(int));
}
}
// 初始化数组
for (x = 0; x < x_size; x++) {
for (y = 0; y < y_size; y++) {
for (z = 0; z < z_size; z++) {
array[x][y][z] = x * y * z;
}
}
}
// 显示数组内容
for (x = 0; x < x_size; x++) {
for (y = 0; y < y_size; y++) {
for (z = 0; z < z_size; z++) {
printf("%d ", array[x][y][z]);
}
printf("\n");
}
printf("\n");
}
// 释放内存
for (x = 0; x < x_size; x++) {
for (y = 0; y < y_size; y++) {
free(array[x][y]);
}
free(array[x]);
}
free(array);
return 0;
}
这个程序创建了一个3x4x2的三元数组,并使用嵌套循环初始化其元素。然后,它使用另一个嵌套循环显示数组的内容。最后,它释放了分配给数组的内存。