使用指向具有结构的指针的指针的函数
Posted
技术标签:
【中文标题】使用指向具有结构的指针的指针的函数【英文标题】: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 );
谢谢它成功了!
【参考方案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 );
【讨论】:
以上是关于使用指向具有结构的指针的指针的函数的主要内容,如果未能解决你的问题,请参考以下文章