动态内存--通讯录

静态实现:静态实现通讯录
动态实现的修改处:
1、存储人数的结构体修改

typedef struct mindan {
 int num ;
 information* everyone;
 int size;
 
}mindan;

2、初始化修改

void Init(mindan* book) {
 book->size = 0;
 book->num = 20;
 book->everyone = (information*)malloc(book->num*sizeof(information));
 for (int i = 0; i < book->num; i++) {
  strcpy(book->everyone[i].name," ");
  strcpy(book->everyone[i].sex, " ");
  strcpy(book->everyone[i].number, " ");
  strcpy(book->everyone[i].address, " ");
  book->everyone[i].age = 0;
 }
}

3、增加联系人修改

void AddInformation(mindan* book) {
 if (book->size >= MAX_LEN) {
  book->num += 20;
  information* newper = (information*)malloc(book->num*sizeof(information));
  memcpy(newper, book->everyone, book->size*sizeof(information));
  free(book->everyone);
 }
 printf("请输入联系人姓名:\n");
 information* p_num =&( book->everyone[book->size]);
 scanf("%s", p_num->name);
 printf("请输入联系人性别:\n");
 scanf("%s", p_num->sex);
 printf("请输入联系人地址:\n");
 scanf("%s", p_num->address);
 printf("请输入联系人号码:\n");
 scanf("%s", p_num->number);
 printf("请输入联系人年龄:\n");
 scanf("%d",&p_num->age);
 printf("添加联系人成功!\n");
 book->size++;
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值