如何在`C`中获取对象指针的指针

use*_*267 0 c pointers

我有一个struct变量

      struct Var var;
Run Code Online (Sandbox Code Playgroud)

和来自图书馆的功能

      void func(struct Var ** ){}
Run Code Online (Sandbox Code Playgroud)

现在我想调用这个函数我可以使用

      func(&&var);
Run Code Online (Sandbox Code Playgroud)

如果是的话,有什么需要谨慎的吗?如果没有,任何解决方案?

谢谢!

hmj*_*mjd 5

具有类型参数的函数T**可能会将指针重新分配给不同的值.这意味着T*必须传入a的地址:

struct Var* var;
func(&var);

void func(struct Var ** a_var)
{
    *a_var = malloc(sizeof(struct Var));
}
Run Code Online (Sandbox Code Playgroud)