1
我聲明一個字符串數組非常簡單,硬編碼,但它不斷給我array type has incomplete element type
錯誤。C多維數組字符串
我想這與每個數組的長度有關,但我不知道如何解決這個問題,沒有爲字符串設置固定的長度。
char allocate[][2][] = { // Error with or without the 2
{"value1","value2"},
{"value3","value4"}
};
所以這個數組包含指向字符串的指針(然後將其存儲在數組之外?)如果刪除了'const'關鍵字,你不能寫入字符串嗎? – 2011-04-30 13:44:44
@J V:不,這是未定義的行爲(儘管通常你會得到一個seg-fault)。字符串文字是隻讀的,實際上應該總是用'const char *'指向。 C允許你使用'char *'的唯一原因是出於一些向後兼容性問題。 – 2011-04-30 13:48:43