【发布时间】:2015-01-31 20:24:14
【问题描述】:
我想创建一个void*s 的动态数组,每个void* 将指向二维int 矩阵。
所有矩阵的行数和列数都相同。
如何在 C 中做到这一点?
我初始化后怎么办:void **myArray = NULL;
更具体地说,我想创建一个带有 2 个参数的函数:
int foo( void* matrix, void** ptrArray)
其中matrix 指向二维int 矩阵,ptrArray 指向void*s 的数组,foo 返回ptrArray 的大小。
我想,foo 从matrix 获取二维int 矩阵并对其进行一些操作,例如在其中切换一些数字。对于我所做的每一项更改,我都想分配一个新矩阵,并将指向它的指针保存在 ptrArray 中。
【问题讨论】:
-
它实际上是一个
void*,你将malloc。因为您的矩阵是固定长度的,您可以将它们静态声明为int matrix[LENGTH][LENGTH]。有了这些信息和一些研究工作,您应该会成功。 -
@Cocoop 首先 tnx 很多。第二,我不明白在 malloc..malloc(1*sizof(void *)? 里面写什么?
-
@user3552460
foo有意义的唯一方法是ptrArray的参数当前没有指向任何内容。否则,您还需要传递一个尺寸。