經歷了幾十個教程&編程指南,答案並沒有變得明顯,因此後。請善待。
手頭的事情是雙d字符數組的實際操作。{「aaaaa」,「bbbbb」,「ccccc」,... M}
第一個問題是聲明這樣的初始化獸,與以在字符串「AAAAA」改變數據「BBBBB」等
的聲明和初始化去爲:如何管理2維Char陣列?
char *chararray[M][N + 1] //M & N are set as constant values, the extra 1 for the null terminator.
memset (chararray, '\0', sizeof(chararray)); //Assuming array bounds remain constant, in the hope that dynamic allocation is not required
假設還存在定義文字的字符串:
char *copyme; //Has been given a string value well within the bounds of N
嘗試使用此i時出現問題ñstrcat的或strcat_s(strcpy的或strcpy_s類似):
strcat_s (chararray [i][0], N + 1, (char *) copyme); //i ranges from 0 to M
具有不跨陣列處理這種方式,我確實注意到這個tutorial那的memcpy是唯一的出路任何代碼來。正確?
另外,從Main調用函數時,如何實現John Bode的General Procedure? (爲了簡潔起見,這可能需要提交作爲一個單獨的問題,)
'char x [M] [N + 1];'會是char的二維數組。你可以確認你是否想要這個,或者'char * x [M] [N + 1]'這是一個二維指針數組嗎? –
想要指針。 _我想_ char chararray [M] [N + 1]似乎根本不適用於strcpy。 –
所以你想能夠存儲'M' x'N + 1'個字符串?例如。如果'M'是5,'N'是6,那麼你存儲35個字符串。 –