将struct设置为指向struct的指针中的内容

时间:2015-12-03 17:12:54

标签: c pointers struct

这就是我声明我的结构和指向结构的指针的方法。

    struct com rt, cur;
    struct com *hold;

我将rt的内容保存到cur中。因为cur将在不同的功能之后进行编辑。然后我想从指针hold获取内容并将它们保存到rt。这是我*rt = hold;的地方,但它会抛出错误error: invalid type argument of unary '*' (have 'struct com')

        cur = rt;
        hold =&cur;

        //call function to edit cur

        *rt = hold;

我不确定最后一行应该是什么。

2 个答案:

答案 0 :(得分:1)

然后我想从指针hold获取内容并将其保存到rt

为此,请尝试

cur = rt;
hold =&cur;

//call function to edit cur

rt = *hold;

hold是一个指针,要获取它所指向的结构内容,您需要取消引用指针,这意味着*hold

现在,您想要存储在rt中的结构内容,所以只需使用rt,因为它只是一个普通变量。

答案 1 :(得分:1)

*hold是指针,hold是指针的地址。现在*rt是指针,你正在做的是指针=地址是错误的。

  

将struct设置为指向struct

的指针中的内容

从(指向struct的指针)获取内容我们需要deference(指向struct的指针)。在这种情况下hold是你的(指向struct的指针)所以deference意味着*hold

  

然后我想从指针保持中获取内容并保存它们   进入rt

rt = *hold