我正在研究一個具有多個輸入參數(其中一些需要在代碼中計算)的項目,所以我把它們放在一個結構中。如何將指針傳遞給大小由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