gpt4 book ai didi

c - 如何将指针传递给二维数组,其大小由C中的指针定义?

转载 作者:行者123 更新时间:2023-11-30 17:53:44 25 4
gpt4 key购买 nike

我正在开发一个有多个输入参数的项目(其中一些需要在代码中计算),所以我将它们全部放在一个结构体中。

typedef struct{
int N_cell;
int N_node;
}INPUT;

在主函数中,我声明

INPUT in;

之后有几行用于计算in.N_cell和in.N_node。现在我定义

double *pos_node[in.N_node];
for (i = 0; i < in.N_node; i++)
pos_node[i] = (double *) calloc(3, sizeof(double));

然后我需要将此数组的指针传递给我将其定义为的函数

void func(double *pos_node[????]){....}

我的问题是,我应该在“???”中写什么?地方?我应该使用 in.Node 并在参数列表中添加“INPUT in”吗?

非常感谢!

最佳答案

尝试在堆上分配pos_node:

double **pos_node = calloc(in.N_node, sizeof(double*));
for (i = 0; i < in.N_node; i++)
pos_node[i] = (double *) calloc(3, sizeof(double));

void func(double **pos_node){....}

关于c - 如何将指针传递给二维数组,其大小由C中的指针定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15438564/

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