-3
精細,讓我擦了這個問題,然後再試一次:的malloc涉及結構
我定義了兩個結構如下:
LangData
typedef struct
{
char languageName[60];
char stopwords[2000][60];
int wordcount;
} LangData;
第一個結構包含語言的名字,與該語言對應的單詞列表以及跟蹤單詞數量的計數器。
ALLDATAtypedef struct
{
int languageCount;
LangData languages[];
} AllData;
第二結構主要包含第一結構的陣列,和一個計數器來跟蹤我正在與工作語言的數目。
我需要爲語言[]動態分配空間,因爲我沒有處理特定數量的語言。
這是我所做的努力來解決問題,但我不確定它是否正確。這是我的代碼中的許多領域可能會造成的問題之一,我試圖找出問題
int langCount = 0;
while(readdir(d)) //d is a directory containing language files.
langCount++;
AllData *data = malloc(offsetof(AllData, languages) +
sizeof(LangData)*langCount);
data->languageCount = langCount;
不需要是專家。只需使用調試器。 – Drop
「我不知道我的問題在哪裏」以及「我再次爲代碼山道歉」意味着您還沒有準備好將問題帶給我們。縮小範圍;編寫一個能夠再現問題的小程序,並找出問題所在,然後再回到我們這裏。 –
或者問一個更具體的問題。例如,取出代碼,描述問題,平臺以及您首選的調試方法,並請求應用該方法的幫助。 –