如何更改传递给函数的指针指向C中的函数?

时间:2014-11-10 14:02:01

标签: c function pointers

我有一个函数,您将指向列表(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;

正在运作

1 个答案:

答案 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
}