C语言添加联系人到通讯录结构体中
时间: 2024-09-04 17:01:00 浏览: 95
在C语言中,你可以创建一个自定义的数据结构(如结构体)来表示通讯录中的联系人,并提供相应的函数来添加新的联系人。以下是一个简单的例子:
```c
// 定义一个联系人的结构体
typedef struct {
char name[50]; // 联系人姓名
char phone_number[15]; // 电话号码
char email[50]; // 邮箱地址
} Contact;
// 添加联系人的函数
void addContact_to_address_book(Contact* address_book, int index, const char* name, const char* phone_number, const char* email) {
if (index < 0 || index >= MAX_CONTACTS) { // 检查索引是否合法
printf("Invalid contact index.\n");
return;
}
// 如果地址薄已满,先删除最后一个元素腾出空间
if (MAX_CONTACTS == sizeof(address_book)/sizeof(*address_book)) {
if (delete_contact(address_book, MAX_CONTACTS - 1)) {
printf("Address book is full. Removed the last contact.\n");
} else {
printf("Failed to remove contact.\n");
return;
}
}
// 将新联系人复制到数组
strcpy(address_book[index].name, name);
strcpy(address_book[index].phone_number, phone_number);
strcpy(address_book[index].email, email);
printf("Added contact: %s, %s, %s\n", name, phone_number, email);
}
// 示例中假设有一个常量MAX_CONTACTS限制了最大联系人数
#define MAX_CONTACTS 10
// 删除联系人的辅助函数(这里仅作示例,实际实现可能更复杂)
int delete_contact(Contact* address_book, int index) {
if (index < 0 || index >= MAX_CONTACTS) {
return 0; // 返回失败
}
// 实际操作,例如在这里将该位置的元素清零或移动其他元素覆盖
// ...
return 1; // 返回成功
}
```
阅读全文