我有一个函数,您将指向列表(MList)的指针传递给
int ml_add(MList **ml, MEntry *me){
//I need to create new MList here
//and have *ml point to my new list
}
在ml_add函数中,我需要创建一个新的MList,并且具有函数参数' MList ** ml'指向我的新列表并丢弃ml指向的旧列表。在这个之外有一个单独的函数,它有一个Mlist,并使用这个ml_add函数向它添加内容。在ml_add里面我需要创建一个新列表,并在调用ml_add之后将调用函数传递给新列表。这可能吗?
我不确定是否
*ml = newList;
正在运作
答案 0 :(得分:0)
是的,这是可能的。尝试这样的事情:
int ml_add(MList **ml, MEntry *me){
//I need to create new MList here
//and have *ml point to my new list
MList * newList = malloc(sizeof(MList));
// TODO: check malloc return value,
// add references between newList and me as well as between newList and ml.
*ml = newList;
// return a meaningful value
}