我正在研究一个具有多个输入参数(其中一些需要在代码中计算)的项目,所以我把它们放在一个结构中。如何将指针传递给大小由C中的指针定义的二维数组?
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的有限大小事情(使用变量不去工作) – KevinDTimm 2013-03-15 17:27:47
你对如何处理这类问题有一些建议吗?我的意思是很多函数需要使用这些输入参数,而某些数组的大小由它们决定。你认为更好地使用“extern”变量吗? – 2013-03-15 17:30:46