我有fullNames
,這是在已分類的全名二維陣列之外,我想複製其內容納入sortedNames
,這是一個真實存在的二維數組在這個函數的外面。 (我得到***sortedNames
作爲參數)。複製一個二維數組到一個動態分配的二維數組功能
我動態分配這個數組,但複製不成功。第4次嘗試將名稱從fullNames
複製到sortedNames
後程序崩潰。爲什麼?
stringcpy
和stringlen
是我創建的函數。他們做的事情與strcpy
和strlen
一樣。
/*allocating memory for sortedNames*/
*sortedNames = (char**) malloc(n);/*n is the number of names*/
/*allocating memory for each sortedNames array*/
for (i = 0; i < n; i++)
{
(*sortedNames)[i] = (char*) malloc(stringlen(fullNames[i])+1);
}
/*Copying fullNames into sortedNames*/
for (i = 0; i < n; i++)
{
stringcpy((*sortedNames)[i],fullNames[i]);
}
是N名的個數或總規模要分配> –
[強制性提醒關於不鑄造用C的malloc的reuslt](HTTP://計算器.COM /問題/ 605845/DO-I-鑄造了對結果的-的malloc)。 –
您應該修改您的問題以包含函數原型。它是'void myfunction(char *** sortedNames,const char ** fullNames,size_t n)'? – chqrlie