链表中的数据域能存储结构体吗
时间: 2023-09-23 07:13:05 浏览: 87
单链表的存储结构
是的,链表中的数据域可以存储结构体。链表节点的数据域可以存储任何数据类型,包括结构体。在链表中存储结构体时,需要定义一个结构体类型,并在链表节点中使用该结构体类型作为数据域的类型。
例如,假设有以下的结构体类型:
```
typedef struct {
int id;
char name[20];
} Person;
```
可以定义一个链表节点类型,其中数据域的类型为Person:
```
typedef struct Node {
Person data;
struct Node* next;
} Node;
```
然后就可以在链表中存储Person类型的数据了:
```
Node* head = NULL;
Person p1 = {1, "Alice"};
Node* node1 = (Node*)malloc(sizeof(Node));
node1->data = p1;
node1->next = NULL;
head = node1;
Person p2 = {2, "Bob"};
Node* node2 = (Node*)malloc(sizeof(Node));
node2->data = p2;
node2->next = NULL;
node1->next = node2;
```
这样就在链表中存储了两个Person类型的数据。
阅读全文