温馨提示×

c语言三元数组的实现方法

小樊
86
2024-10-17 18:55:03
栏目: 编程语言

在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的三元数组,并使用嵌套循环初始化其元素。然后,它使用另一个嵌套循环显示数组的内容。最后,它释放了分配给数组的内存。

0