用c语言创建三个员工信息,用静态链表保存,包括编号,姓名,部门,并输出
时间: 2024-10-09 12:02:05 浏览: 53
在C语言中,我们可以使用结构体定义员工的信息,然后使用静态链表(也称为顺序存储链表)来存储这些数据。首先,我们需要创建一个包含编号、姓名和部门的结构体,然后定义链表节点,最后编写函数来添加员工并打印链表内容。
```c
#include <stdio.h>
#include <stdlib.h>
// 定义员工结构体
typedef struct {
int id;
char name[50];
char department[50];
} Employee;
// 链表节点
struct Node {
Employee data;
struct Node* next;
};
// 添加新员工到链表
void addEmployee(Node** head, Employee emp) {
// 创建新的节点
Node* newNode = (Node*)malloc(sizeof(Node));
if (!newNode) {
printf("Memory allocation failed.\n");
return;
}
newNode->data = emp;
newNode->next = *head;
*head = newNode;
}
// 打印链表
void printList(Node* head) {
while (head != NULL) {
printf("ID: %d, Name: %s, Department: %s\n", head->data.id, head->data.name, head->data.department);
head = head->next;
}
}
int main() {
// 初始化链表头部
Node* head = NULL;
// 创建并添加员工
Employee employee1 = {1, "张三", "人事部"};
addEmployee(&head, employee1);
Employee employee2 = {2, "李四", "技术部"};
addEmployee(&head, employee2);
Employee employee3 = {3, "王五", "市场部"};
addEmployee(&head, employee3);
// 打印所有员工信息
printList(head);
return 0;
}
```
在这个示例中,我们创建了`addEmployee`函数用于向链表添加员工,`printList`函数用于遍历链表并打印每个员工的信息。在`main`函数中,我们初始化了一个空链表,并添加了三个员工实例。
阅读全文