0
我試圖將我的char *參數存儲到結構指針的數據成員中。但是當我嘗試這樣做時,我收到了分段錯誤:11。分割錯誤:11當試圖修改struct
void macro_set(char *name, char *body)
{
verify(body != NULL, "null arg body");
bool nameExists = false;
if(macro_list.name == NULL)
{
macro_list.name = Strdup(name);
macro_list.body = Strdup(body);
}
else
{
struct macro *current = ¯o_list;
for(; current != NULL; current = current->next)
{
if(strcmp(name, current->name) == 0)
{
current->body = Strdup(body);
nameExists = true;
}
}
if(!nameExists)
{
current->name = Strdup(name);
}
}
}
當我試圖將名稱存儲到當前名稱中時發生錯誤。感謝任何人,可以幫助!
你的strdup不應該大寫! – CodeKingPlusPlus 2012-03-13 03:06:48
Strdup是我程序中的一個宏,因爲我需要一些附加功能。 – user1265521 2012-03-13 03:09:36
'macro_list'已經在我的代碼的另一部分的內存中分配了 – user1265521 2012-03-13 03:12:59