【笨方法学C】练习17:堆和栈的内存分配

该练习创建的数据库内容比较复杂,采用以下图示的方式给出结构

在这里插入图片描述

Database_create(conn):创建一个Connection类型的结构体conn,并对里面Database类型的结构体db的Address结构体赋初值
Database_write(conn):将文件位置指示器指向文件开头,并把创建好的database类型结构体写入到文件,使用fflush()强制将缓冲区数据写入到文件
Database_get(conn, id):根据输入id,获取db数组的一个Address结构体,如果Address->set为1则打印,为0报错
Database_set(conn, id, name, email):获取输入id的Address结构体,将set置为1,用strncpy将name复制到addr->name
Database_delete(conn, id):将下标为id的Address结构体的set置为0
Database_list(conn):将所有set为1的address数组打印出来
Database_close(conn):关闭文件fclose,先释放Database再释放Connection

附加题

  1. 将die函数改为

void die(const char *message, struct connection *conn);

在函数上加入Database_close(conn)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值