gpt4 book ai didi

c - 如何在 C 中 malloc array 2d

转载 作者:太空宇宙 更新时间:2023-11-04 08:12:15 25 4
gpt4 key购买 nike

我有这个数组:

float (*probability)[4];

这是二维数组,但我不知道第一个 [] 的数量,这可以在之后的某个函数中计算,在那个函数中我不知道如何 malloc() 这个数组。

我的代码是这样的:

int main(int argc, char ** argv){
float (*probability)[4];
some_function_to_malloc(&probability);
return 0;
}

最佳答案

首先,float (*probability)[4]不是二维数组。它是指向包含四个 float 的一维数组的指针.它们是不同的东西。

二、成语使用malloc()不引入意外的类型错误是

  probability = malloc(sizeof (*probability) * number_desired);

在带有传递参数的函数中执行此操作将是

 void some_function_to_malloc(float (**probability)[4])
{
*probability = malloc(sizeof(**probability) * number_desired);
}

别忘了 #include <stdlib.h>为了使用 malloc() .

关于c - 如何在 C 中 malloc array 2d,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38448844/

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