gpt4 book ai didi

C - 基于用户输入的多维数组内存分配

转载 作者:行者123 更新时间:2023-12-05 01:28:40 27 4
gpt4 key购买 nike

我看到了以下二维数组的声明。

  int arr[][3] = { {1,2,3}, {4,5,6}};

我的问题是如何根据第一维的用户输入在运行时分配以下多维数组?
   #define M 10
#define N 15

int arr[][M][N]

最佳答案

首先声明一个适合访问数组的指针:

int (*array)[M][N];

然后根据用户输入为数组分配内存:
array = malloc(P * sizeof(*array));    // P is the value obtained from the user

然后像使用 3D 数组一样使用指针:
array[x][y][z] = 42;

完成后不要忘记对内存进行 free

关于C - 基于用户输入的多维数组内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49911048/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com