在C語(yǔ)言中,三元數(shù)組(也稱(chēng)為三維數(shù)組)可以看作是一個(gè)數(shù)組的數(shù)組,其中每個(gè)元素都是一個(gè)數(shù)組。這里是一個(gè)簡(jiǎn)單的實(shí)現(xiàn)方法:
#include <stdio.h>
#include <stdlib.h>
int main() {
// 定義一個(gè)三維數(shù)組
int ***array;
int x, y, z;
// 設(shè)置數(shù)組的大小
int x_size = 3;
int y_size = 4;
int z_size = 2;
// 為三維數(shù)組分配內(nèi)存
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));
}
}
// 初始化數(shù)組
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;
}
}
}
// 顯示數(shù)組內(nèi)容
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");
}
// 釋放內(nèi)存
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;
}
這個(gè)程序創(chuàng)建了一個(gè)3x4x2的三元數(shù)組,并使用嵌套循環(huán)初始化其元素。然后,它使用另一個(gè)嵌套循環(huán)顯示數(shù)組的內(nèi)容。最后,它釋放了分配給數(shù)組的內(nèi)存。