用C

2011-12-04 50 views
-4

我在想這個創建的字符串矩陣:用C

typedef char *string; 

string matrix[100][100]; 

void init(string input[][]); 

,但它不工作。任何人有任何想法如何做到這一點?

+1

什麼不工作? – jman

+0

Uuuh,編譯,工作。你認爲錯誤是什麼? – ScarletAmaranth

+0

在gcc上有一個錯誤:數組類型具有不完整的元素類型 –

回答

1

函數聲明是錯誤的。 在函數參數中不使用類似string input[][] 的東西。 我建議使用void init(string** input); 然而,它是確定其聲明爲void init(string input[][100]);

0

void init(string input[]); - 我想你想的?

+0

不,這將是一個字符串數組。我需要一個矩陣,二維數組。 –

0

我最初讀錯了你的問題,並假定你想要一個字符串數組,但它看起來像你想要一個二維數組的字符串,我的壞。

要刪除錯誤error: array type has incomplete element type,你可以聲明init如:

void init(string input[100][100]) 

OR

void init(string (*input)[100]) 

如果規模預計爲常數,即。 100行,100列。如果不是,則將行數和列數傳遞給init

+0

但不會char [] []是一個字符矩陣?這不是我需要的。我需要一個字符串矩陣,比如char [] [] [],但它太複雜了,所以這就是爲什麼我嘗試使用typedef。 –

+0

@GeroPerov:對不起,我讀錯了你的問題,我編輯它來修復你提到的錯誤。 – AusCBloke

0

您必須說void init(string input[100][100]);。見this question