C语言实现通讯录管理程序

需积分: 10 15 下载量 186 浏览量 更新于2024-09-18 收藏 24KB DOC 举报
"这是一个C语言实现的简单通讯录系统,包含了创建、插入和删除联系人的功能。源代码使用了链表数据结构来存储联系人信息,包括姓名和电话号码。" 在C语言中,通讯录系统通常涉及到数据结构的使用,这里的实现选择了链表作为基础。链表是一种动态数据结构,允许在运行时进行增删改查操作,非常适合用于这种需要频繁添加和删除联系人的应用。 首先,定义了一个结构体`ID`来表示一个联系人,包含两个成员:`name`用于存储姓名(最大长度20个字符),`tele`用于存储电话号码(同样限制为20个字符),以及一个指向下一个联系人节点的指针`next`。这样的设计使得可以链接多个联系人节点形成链表。 全局变量`pc`(pointer count)用于记录链表中当前的联系人数量,`head`则保存链表的头节点。 `creat()`函数实现了创建通讯录的功能。它通过循环接收用户输入的姓名和电话号码,每次输入后创建一个新的`ID`结构体,并将其添加到链表中。当用户输入`#`时,表示输入结束,链表的最后一个节点的`next`指针设置为`NULL`,表示链表结束。 `insert()`函数用于插入新的联系人。它首先创建一个新的`ID`结构体,然后接收用户输入的姓名和电话号码。如果链表为空,新节点直接成为头节点;否则,遍历到链表末尾,将新节点插入到末尾。 `delet()`函数处理删除联系人的情况。用户输入要删除的电话号码,程序遍历链表找到该电话号码对应的节点,然后修改前一个节点的`next`指针,跳过待删除节点,实现删除操作。需要注意的是,这里没有处理找不到匹配电话号码的情况,实际应用中应增加错误处理。 这个简单的通讯录系统虽然功能有限,但展示了基本的链表操作和用户交互,对于学习C语言和数据结构的人来说是一个很好的实践项目。为了使系统更加完善,可以考虑添加搜索联系人、显示所有联系人、更新联系人信息等功能,并且对输入错误和异常情况进行更全面的处理。