这就是我声明我的结构和指向结构的指针的方法。
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;
我不确定最后一行应该是什么。
答案 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