【问题标题】:function using a pointer to a pointer with a structure使用指向具有结构的指针的指针的函数
【发布时间】:2021-01-29 03:41:52
【问题描述】:

我有一个使用指向结构指针的函数:

int function(struct_A ** mystructA);

当我将它与我声明的结构一起使用时它起作用了:

struct_A *mystructA;
function(&mystructA);

但是,不可能通过另一个结构使用我的结构:

struct struct_B{
    struct_A *mystructA;
}

struct_B mystructB;
function( (&mystructB)->mystructA );    //this line cause me a segfault

我在这里挣扎,知道它可能来自哪里吗?

【问题讨论】:

  • &(mystructB->mystructA)
  • 如果你想以这种奇怪的方式使用它function( &(&mystructB)->mystructA );
  • 谢谢它成功了!

标签: c pointers struct segmentation-fault


【解决方案1】:
struct struct_B{
    struct_A *mystructA;
}

struct struct_B mystructB;
struct struct_B *mystructBptr;

/* .... */

function( &mystructB.mystructA );
function( &(&mystructB) -> mystructA );
function( &mystructBptr -> mystructA );

【讨论】:

    【解决方案2】:

    你的意思好像是下面这个

    struct struct_B{
        struct_A *mystructA;
    }
    
    struct struct_B mystructB;
    function( &mystructB.mystructA );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-03
      • 1970-01-01
      相关资源
      最近更新 更多