【发布时间】:2017-06-07 22:54:14
【问题描述】:
我想创建一个大小可变的矩阵(相同的高度和宽度),这意味着高度和宽度取决于一个变量。现在我知道如何使用 malloc/calloc 保留存储,但我不知道如何使用 malloc 创建二维数组。 还是有其他方法可以解决我的问题? 提前致谢!
【问题讨论】:
-
请进行搜索。这在 Stackoverflow 和其他地方得到了多次回答。
-
有两种典型的解决方案。第一个是分配一个连续的内存块,然后可以访问它,就好像它是一个带有仔细索引的二维矩阵一样。第二个是分配一个指向
double *(又名double **)的指针,然后一一分配每一行。在这个网站上搜索几秒钟,我相信你会找到很多例子。 -
int (*m)[cols] = malloc( sizeof(int[rows][cols]) );
标签: c arrays multidimensional-array