在C语言中,三元数组(也称为三维数组)可以看作是一个数组的数组,其中每个元素都是一个数组。这里是一个简单的实现方法:
#include#include 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的三元数组,并使用嵌套循环初始化其元素。然后,它使用另一个嵌套循环显示数组的内容。最后,它释放了分配给数组的内存。