【发布时间】:2013-04-26 23:26:53
【问题描述】:
我有这样的结构:
struct data
{
char abc[10];
int cnt;
struct data *next, *prior;
};
struct data *start, *last;
struct data *start1, *last1;
struct data *start2, *last2;
整数“cnt”可以有两个值。指针:
struct data *start, *last;
用于将所有数据与'cnt'的所有值联系起来。指针:
struct data *start1, *last1;
struct data *start2, *last2;
用于在'cnt'的值为1或2时链接数据。我的问题是当我为一个链表更改'abc'或'cnt'的值时,说'start->abc' ,值 'start1->abc' 和 'start2->abc' 不变,因为它们位于不同的内存位置。
我希望一个列表下的数据更改反映在其他两个列表中。我相信“工会”可以帮助我做到这一点,但我不知道如何设置它。
任何帮助表示赞赏!
【问题讨论】:
-
将指针指向相同的内存位置。
-
我曾想过这样做,但在这里纠结:
-
起始列表有 20 个列表。 Start1 在它的列表中有 20 个中的 12 个,而 start2 有剩余的 8 个。我如何使用指向它的第 8 个列表(即开始列表中的第 17 个列表)的下一个指针遍历 start1 列表并进行更改以影响两个列表?
标签: c data-structures struct unions