【问题标题】:How to allocate 3d matrix dynamically in c programming language?如何在 c 编程语言中动态分配 3d 矩阵?
【发布时间】:2021-05-24 13:25:48
【问题描述】:

如何在 c 编程中动态分配 3d 矩阵,其中维度将为 [50][n][n] ; 其中 n ,我正在通过命令行。

【问题讨论】:

标签: arrays c matrix dynamic-memory-allocation


【解决方案1】:

如果您的编译器支持 C99 及更高版本,您可以使用自动可变长度数组 (VLA):

int arr[50][n][n];

如果n 预计很大,那么您可以在动态存储上分配 VLA:

int (*arr)[n][n] = malloc(50 * sizeof *arr);

在这两种情况下,arr[i][j][k] 都可以访问各个元素。

【讨论】:

  • 我不知道为什么我无法修改用 this 分配的数组。值没有改变
  • @Nirajsingh,请输入您的代码和描述问题的问题
猜你喜欢
  • 1970-01-01
  • 2023-03-03
  • 2010-11-27
  • 2014-01-15
  • 1970-01-01
  • 1970-01-01
  • 2021-10-13
  • 2018-04-24
  • 2016-09-12
相关资源
最近更新 更多