Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C:可以自动创建给定数量的数组吗?_C_Arrays - Fatal编程技术网

C:可以自动创建给定数量的数组吗?

C:可以自动创建给定数量的数组吗?,c,arrays,C,Arrays,在C语言中,是否有可能递归地创建一个给定数量、具有预定长度的数组?我想在集群项目中试验阵列,如果我能做到这一点,那将是非常实用的 是。如果可能,分配一个指针数组,然后分配所有数组: T **array = malloc(rows * sizeof *array); for (i = 0; i < rows; i++) { array[i] = malloc(cols * sizeof **array); } T**array=malloc(行*大小*数组); 对于(i=0;i代

在C语言中,是否有可能递归地创建一个给定数量、具有预定长度的数组?我想在集群项目中试验阵列,如果我能做到这一点,那将是非常实用的

是。如果可能,分配一个指针数组,然后分配所有数组:

T **array = malloc(rows * sizeof *array);

for (i = 0; i < rows; i++)
{
    array[i] = malloc(cols * sizeof **array);
}
T**array=malloc(行*大小*数组);
对于(i=0;i

它创建
数组数。每个数组都是一个由
col
T
组成的数组,是的。让我们试试,问问我们你是否被困在某个地方。不确定你是否需要递归。一个简单的for循环就足够了。@ouah这个方法是合适的。它是一种迭代方法,而不是递归方法,但我没有看到递归方法在这个案例中会更好。不要忘记清理你的记忆。类型<代码> T >代码>是C++特定的,不是吗?一个替代方案是分配一个巨大的内存块,然后把它分给子分配。请注意对齐要求。请参见
\u Alignof
,@ryker
T
这里是所需的别名吗type@ryyker:它只是一个占位符。