C语言可以在一个链表里保存两个结构体吗

在对结构体的变量进行赋值的时候~~这两个结构体可以分开赋值、

当然可以拉
typedef struct ST1 ST1_T;
typedef struct ST2 ST2_T;

typedef union
{
ST1_T st1;
ST2_T st2;
} ST;

然后将ST作为链表的基本数据类型就是了

如果是同时存储的话,那么:
typedef struct
{
ST1_T st1;
ST2_T st2;
} ST;追问

具体操作的时候可以分开操作吗~~比如用两个函数对两个结构体的值分别操作、但他们都属于一个链表、这样也可以??

追答

当然是可以的

如果是同时存贮,那么各自操作各自的数据;如果是union,那么建议加一个字段来区分当前到底存储的数据的类型就是了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-27
typedef struct node {
struct data1;

struct data2;

struct node *next;

struct node *prev;

}node_t;

node_t *pnode;
pnode->data1.xxx = xxx;
pnode->data2.xxx = xxx;
能看明白吗
第2个回答  2013-05-27
当然可以,只不过链表的操作是一样的,在两个函数中分别调用对应链表操作函数来寻找要操作的结点,你是不是这个问题
第3个回答  2013-05-27
struct node{
T1_struct* pt1;
……
Tn_struct* pt2;
};
相似回答