c语言编写批量添加联系人
时间: 2024-08-05 20:00:38 浏览: 30
在C语言中,由于其没有内置的数据结构来直接支持批量添加联系人,通常会使用数组或者结构体来模拟联系人的存储。这里我们可以创建一个简单的联系人结构体,然后用循环来批量添加。以下是一个基础示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义一个联系人结构体
typedef struct {
char name[50];
char phone[20];
} Contact;
// 添加联系人到数组
void addContact(Contact* contacts, int* count, const char* name, const char* phone) {
Contact new_contact = {name, phone};
*count += 1;
if (*count > *contacts) {
// 如果数组已满,需要动态扩展数组
*contacts = (*contacts) * 2; // 双倍当前大小
contacts = (Contact*) realloc(contacts, sizeof(Contact) * *contacts);
}
contacts[*count - 1] = new_contact;
}
// 批量添加联系人示例
int main() {
int count = 0;
Contact* contacts = malloc(sizeof(Contact)); // 初始分配一个联系人
// 假设我们有多个要添加的联系人
for (int i = 1; i <= 5; i++) {
char name[50], phone[20];
printf("请输入第 %d 个联系人的名字和电话: \n", i);
scanf("%s %s", name, phone);
addContact(&contacts, &count, name, phone);
}
// 输出所有联系人
printf("所有联系人:\n");
for (int i = 0; i < count; i++) {
printf("名字: %s, 电话: %s\n", contacts[i].name, contacts[i].phone);
}
free(contacts); // 释放内存
return 0;
}
```
阅读全文