当前位置: 首页 > news >正文

佳木斯市郊区建设局网站购物网站代码模板

佳木斯市郊区建设局网站,购物网站代码模板,有商家免费建商城的网站吗,wordpress更新慢这篇文章是在上期实现的通讯录基础上#xff0c;增加了自动增容的功能#xff0c;也解决了一开始通讯录自动开辟一个空间#xff0c;可能会浪费空间#xff0c;或者是信息过多无法增容的痛点#xff0c;由于我们使用的是malloc这类函数来开辟空间#xff0c;我们也需要来… 这篇文章是在上期实现的通讯录基础上增加了自动增容的功能也解决了一开始通讯录自动开辟一个空间可能会浪费空间或者是信息过多无法增容的痛点由于我们使用的是malloc这类函数来开辟空间我们也需要来释放空间所以我们定义了一个销毁通讯录的函数. 上期文章 :1.0版本 1.增容策略  这里我们也不用2倍或者是1.5倍增容,我们干脆就一开始给可以容纳三条信息的空间,后面每次增容两条信息的空间,主要是便于我们的测试,这里我们定义两个宏,便于我们以后来调整开始和增容的人数. #define DEFAULT_SIZE 3 #define DEFAULT_INC 2 2.修改代码 2.1初始化 我们这里只需要修改三个地方的代码,首先是函数初始化的地方需要修改,我们需要将原来初始化为100的通讯录改成一开始初始化三个,然后每次扩容添加两个. //静态版本 //void InitContact(Contact* pc) //{ // assert(pc); // pc-sz 0; // memset(pc-data, 0, sizeof(pc-data)); //} //动态版本 void InitContact(Contact* pc) {assert(pc);pc-sz 0;pc-capacity DEFAULT_SIZE;pc-data calloc(pc-capacity ,sizeof(PeoInfo));if (pc-data NULL){perror(error);return;} } 2.2 增容  接下来就是对添加函数进行修改了,这里我们将添加函数中的扩容功能封装成另一个函数,减少代码的耦合性,使得看起来更清爽. //静态版本 //void AddContact(Contact* pc) //{ // assert(pc); // if (pc-sz MAX) // { // printf(通讯录已满,无法增加); // return; // } // printf(请输入名字:\n); // scanf(%s, pc-data[pc-sz].name); // printf(请输入年龄:\n); // scanf(%d, (pc-data[pc-sz].age)); // printf(请输入性别:\n); // scanf(%s, (pc-data[pc-sz].sex)); // printf(请输入电话:\n); // scanf(%s, (pc-data[pc-sz].tele)); // printf(请输入地址:\n); // scanf(%s, (pc-data[pc-sz].addr)); // pc-sz; // printf(增加成功\n); //}//动态版本 void CheckCapacity(Contact* pc) {if (pc-sz pc-capacity){PeoInfo* ptr (PeoInfo*)realloc(pc-data, (pc-capacity DEFAULT_INC) * sizeof(PeoInfo));if (ptr ! NULL){pc-data ptr;pc-capacity DEFAULT_INC;printf(增容成功);}else{perror(扩容失败);return;}} }void AddContact(Contact* pc) {assert(pc);CheckCapacity(pc);printf(请输入名字:\n);scanf(%s, pc-data[pc-sz].name);printf(请输入年龄:\n);scanf(%d, (pc-data[pc-sz].age));printf(请输入性别:\n);scanf(%s, (pc-data[pc-sz].sex));printf(请输入电话:\n);scanf(%s, (pc-data[pc-sz].tele));printf(请输入地址:\n);scanf(%s, (pc-data[pc-sz].addr));pc-sz;printf(增加成功\n); } 2.3 销毁空间  接下来我们对开辟的空间进行销毁,本质上就是对指针置空,释放空间即可. void DestoryContact(Contact* pc) {free(pc-data);pc-capacity 0;pc-sz 0;pc-data NULL; }
http://wiki.neutronadmin.com/news/131583/

相关文章:

  • 安徽城乡建设厅官方网站做网站合伙怎么分
  • 做网站学多长时间可以学会米粒网站建设
  • 电影采集网站流量教育培训网站有哪些
  • 网站集群建设解决方案wordpress 静态首页
  • 网站建设评分细则网站自己推广怎么做
  • 企业展示型网站 建站系统最近免费中文字幕mv免费高清版
  • 有口碑的网站建设湖南省郴州市宜章县
  • 医疗网站建设效果网站建设的一般步骤包含哪些
  • 网站如何排名成都中方互动做网站怎样
  • 建站之星快速建站价格外包公司的优势和劣势
  • 东方网景做网站怎么样银川网站建设那家好
  • 网站建设与管理必修中国互联网协会12321举报中心
  • 国内网站建设连云港网站优化方案
  • 邯郸网站建设怎么开发响应式手机模板WordPress
  • 网站开发如何收费龙岩网红景点
  • 网站 自助建站厦门建设局保障房官网
  • 毕节网站怎么做seowordpress移动端
  • 网站网页和网址的关系网站怎么做免费推广
  • 蔡甸建设局网站nginx环境下安装wordpress
  • 卡地亚手表官方网站随州便宜做网站
  • 上海做网站公百度关键词怎么刷上去
  • 短视频行业的发展趋势深圳宝安seo外包
  • 外贸网站定制建站重庆seo推广渠道
  • 临淄网站制作nginx做网站
  • 新会区住房和城乡建设局网站网站备案注销下载
  • 乡村两级先锋网站建设好网站建设公司的网站
  • 郑州网站建设哪家好东莞哪里有做网站的
  • 企业网站宣传册应该哪个部门做张店网站制作
  • 企业做网站系统电脑版传奇网站
  • 网站视频下载方法免费做网站有哪些家