0

構造体変数があります

      struct Var var;

およびライブラリからの関数

      void func(struct Var ** ){}

今、この関数を呼び出したいのですが、使用できますか

      func(&&var);

もしそうなら、何か注意することはありますか?そうでない場合、解決策はありますか?

ありがとう!

4

4 に答える 4

5

タイプの引数を持つ関数は、T**おそらくポインターを別の値に再割り当てします。これは、 a のアドレスをT*渡す必要があることを意味します。

struct Var* var;
func(&var);

void func(struct Var ** a_var)
{
    *a_var = malloc(sizeof(struct Var));
}
于 2013-04-18T10:15:33.537 に答える
0

パラメーターをダブルポインターとして渡すことは、通常、渡されたポインターの新しいアドレスを取得するために使用されます。あなたの場合、静的変数のアドレスを渡しているので、そのアドレスは変更されません

于 2013-04-18T10:17:19.793 に答える