Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将struct设置为指向struct的指针中的内容_C_Pointers_Struct - Fatal编程技术网

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

将struct设置为指向struct的指针中的内容,c,pointers,struct,C,Pointers,Struct,这就是我如何声明我的结构和指向该结构的一个指针 struct com rt, cur; struct com *hold; 我将rt的内容保存到cur中。因为cur将在不同的功能中进行编辑。然后我想从指针hold获取内容,并将它们保存到rt中。这就是我的*rt=hold但它抛出并出错错误:一元'*'的类型参数无效(具有'struct com') 我不确定最后一行应该是什么。然后我想从指针中获取内容,按住并将其保存到rt 要做到这一点,请尝试 cur = rt; hold =&a

这就是我如何声明我的结构和指向该结构的一个指针

    struct com rt, cur;
    struct com *hold;
我将rt的内容保存到cur中。因为cur将在不同的功能中进行编辑。然后我想从指针
hold
获取内容,并将它们保存到
rt
中。这就是我的
*rt=hold但它抛出并出错
错误:一元'*'的类型参数无效(具有'struct com')


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

然后我想从指针
中获取内容,按住
并将其保存到
rt

要做到这一点,请尝试

cur = rt;
hold =&cur;

//call function to edit cur

rt = *hold;

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


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

*hold
是指针,而
hold
是指针的地址。现在
*rt
是指针,您所做的是指针=地址,这是错误的

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

要从(指向结构的指针)获取内容,我们需要遵从(指向结构的指针)。在这种情况下,
hold
是您的(指向结构的指针),因此遵从意味着
*hold

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


rt=*hold

rt不是指针类型,它是一个常规结构com。因此,您不能用星号取消对它的引用。@scerrecrow但我想获取
hold
所指向的内容,并将其设置为
rt
rt=*hold
,但您可以完全放弃
hold
,改用
&cur
cur = rt;
hold =&cur;

//call function to edit cur

rt = *hold;