C 如果只对一个结构进行更改,则反映对两个结构的更改

C 如果只对一个结构进行更改,则反映对两个结构的更改,c,C,我有以下结构,其中access2通过access1间接使用ctx1。假设通过access2设置val1的值,如何确保access1也反映与main()中所示相同的更改 将acc设置为指向该子结构的地址: access1 *acc = &(base2->base1); 您也从未为要指向的base2分配过空间,它应该是: access2 *base2 = malloc(sizeof access2); 不要使用双下划线前缀,它们是为实现保留的。我不太确定你想在这里做什么,但是acc

我有以下结构,其中
access2
通过
access1
间接使用
ctx1
。假设通过
access2
设置
val1
的值,如何确保
access1
也反映与
main()
中所示相同的更改


acc
设置为指向该子结构的地址:

access1 *acc = &(base2->base1);
您也从未为要指向的
base2
分配过空间,它应该是:

access2 *base2 = malloc(sizeof access2);

不要使用双下划线前缀,它们是为实现保留的。我不太确定你想在这里做什么,但是
acc
还没有初始化。@Christiangibons我想他的问题可能是他应该设置什么。使用指针而不是在结构中嵌入结构的副本。@Barmar,没错,我应该怎么做,如果其中一个发生了变化,那么另一个也应该反映关于val1和val2的相同变化
access2 *base2 = malloc(sizeof access2);