最近,當我用C做代碼,我需要聲明一個二維數組如下:二維字符數組
char foo[20][20];
稍後我會到foo
指定字符數組。
之後,我需要將這些字符串複製到其他變量。
複製是這樣的:
strcpy(date, foo[0]);
strcpy(name, foo[1]);
strcpy(des, foo[6]);
strcpy(cpy, foo[2]);
因爲我沒有保持順序在複製像foo[0]
,foo[1]
,foo[6]
和foo[2]
,我得到了一些垃圾p3
與原始字符串一起。
後來我在複製過程中將序列更正爲foo[0]
,foo[1]
,foo[2]
和foo[6]
,我得到了預期的結果。
請說清楚。
實際上,指針p1,p2,p3和p4是結構中的變量。 結構去喜歡:
struct sample
{
char date[9];
char name[8];
char des[8];
char cpy[9];
};
那些'p'字符串是否有空間分配給他們?在你的例子中你有什麼是不合法的語法,所以很明顯這不是你真正的代碼。 – 2012-03-13 05:59:46
如果您可以發佈完整的代碼,會更好。 – Jay 2012-03-13 06:03:08
發佈您的實際代碼,並顯示foo如何初始化。 – 2012-03-13 06:27:43