C语言写一个动态通讯录
作者:野牛程序员:2023-08-23 12:09:53C语言阅读 2781
以下是一个简单的C语言动态通讯录的示例代码,使用了结构体和动态内存分配来实现。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义联系人结构体
struct Contact {
char name[50];
char phone[20];
struct Contact *next; // 下一个联系人的指针
};
// 添加联系人
struct Contact* addContact(struct Contact *head, const char *name, const char *phone) {
struct Contact *newContact = (struct Contact*)malloc(sizeof(struct Contact));
if (newContact == NULL) {
printf("Memory allocation failed\\n");
return head;
}
strcpy(newContact->name, name);
strcpy(newContact->phone, phone);
newContact->next = head;
return newContact;
}
// 显示所有联系人
void displayContacts(struct Contact *head) {
printf("Contact List:\\n");
struct Contact *current = head;
while (current != NULL) {
printf("Name: %s, Phone: %s\\n", current->name, current->phone);
current = current->next;
}
}
// 释放内存
void freeContacts(struct Contact *head) {
struct Contact *current = head;
while (current != NULL) {
struct Contact *temp = current;
current = current->next;
free(temp);
}
}
int main() {
struct Contact *contactList = NULL;
// 添加联系人
contactList = addContact(contactList, "Alice", "123-456");
contactList = addContact(contactList, "Bob", "789-012");
contactList = addContact(contactList, "Charlie", "345-678");
// 显示联系人列表
displayContacts(contactList);
// 释放内存
freeContacts(contactList);
return 0;
}在这个示例中,使用了一个联系人的结构体,并使用了动态内存分配来创建联系人的节点。addContact 函数用于添加新的联系人到通讯录,displayContacts 函数用于显示所有联系人的信息,freeContacts 函数用于释放动态分配的内存。
请注意,这只是一个简单的示例,实际应用中可能需要添加更多功能,如查找联系人、编辑联系人信息等。同时,动态内存分配后需要记得释放以避免内存泄漏。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:C语言自定义类型(结构体+枚举+联合)
- 下一篇:C语言深度剖析数据在内存中的存储
