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

公司网站建设比较好的公司系统开发软件有哪些

公司网站建设比较好的公司,系统开发软件有哪些,网站建设文化包括哪些,一 网站开发体会一、介绍 柔性数组#xff08;Flexible Array#xff09;#xff0c;又称可变长数组。一般数组的长度是在编译时确定#xff0c;而柔性数组对象的长度在运行时确定。在定义结构体时允许创建一个空数组#xff08;例如#xff1a;arr [ 0 ] #xff09;#xff0c;该数…一、介绍 柔性数组Flexible Array又称可变长数组。一般数组的长度是在编译时确定而柔性数组对象的长度在运行时确定。在定义结构体时允许创建一个空数组例如arr [ 0 ]  该数组的大小可在程序运行过程中按照你的需求变动。 struct S {int n;int arr[0]; // 柔性数组成员 };// 有些编译器会报错无法编译可以改成struct S {int n;int arr[]; // 柔性数组成员 }; 柔性数组Flexible Array是在C语言的 C99 标准中引入的新特性。结构中的最后一个元素的大小允许是未知的数组即为柔性数组。 二、柔性数组的特点 结构中的柔性数组成员前面必须至少一个其他成员。 sizeof 返回的这种结构大小不包括柔性数组的内存。 包含柔性数组成员的结构用 malloc () 函数进行内存的动态分配并且分配的内存应该大于结构的大小以适应柔性数组的预期大小。 #include stdio.hstruct S {int n; //4int arr[0]; //大小是未知的 }s;int main(){printf(%d\n, sizeof(s)); //4struct S* ps (struct S*)malloc(sizeof(struct S) sizeof(int)); // 后面的大小就是给柔性数组准备的return 0; } 因为这段空间是 malloc 出来的所以后面 arr 的空间如果不够可以进行调整。它的大小是可以改变的这里就体现出了 “柔性” 的意义。 三、柔性数组的使用 // 代码一 #include stdio.h #include stdlib.hstruct S {int n;int arr[0]; };int main() {struct S* ps (struct S*)malloc(sizeof(struct S) sizeof(int));ps-n 10;for (int i 0; i 10; i){ps-arr[i] i;}struct S* ptr (struct S*)realloc(ps, sizeof(struct S) 20*sizeof(int));if (ptr ! NULL){ps ptr;}free(ps);ps NULL;return 0; } 这样柔性数组成员  arr 相当于获得了  10  个整型元素的连续空间。 四、柔性数组的优势 // 代码二 #include stdio.h #include stdlib.hstruct S {int n;int* arr; };int main() {struct S* ps (struct S*)malloc(sizeof(struct S));if (ps NULL){return 1;}ps-n 10;ps-arr (int*)malloc(10 * sizeof(int));if (ps-arr NULL){return 1;}for (int i 0; i 10; i){ps-arr[i];}int* ptr (struct S*)realloc(ps-arr, 20 * sizeof(int));if (ptr ! NULL){ps-arr ptr;}// 这里需要回收2个空间且回收必须有先后free(ps-arr); // 先free第二块空间ps-arr NULL;free(ps);ps NULL;return 0; } 上述 代码一 和 代码二 可以完成同样的功能但是代码一 的实现有两个好处 第一个好处是方便内存释放。 虽然 代码二实现了相应的功能但是和 代码一相比还是有很多不足之处的。 代码二使用指针完成 进行了两次 malloc 而两次 malloc 对应了两次 free 相比于 代码一更容易出错。 如果我们的代码是在一个给别人用的函数中你在里面做了两次内存分配并把整个结构体返回给用户。虽然用户调用 free 可以释放结构体但是用户并不知道这个结构体内的成员也需要 free所以你不能指望用户来发现这件事。所以如果我们把结构体的内存以及其成员要的内存一次性分配好而不是多次分配并且返回给用户一个结构体指针 用户只需使用一次 free 就可以把所有的内存都给释放掉可以间接地减少内存泄露的可能性。 第二个好处是这样有利于访问速度。         连续内存多多少少有益于提高访问速度还能减少内存碎片。malloc 的次数越多产生的内存碎片就越多这些内存碎片不大不小再次被利用的可能性很低。内存碎片越多内存的利用率就会降低。频繁的开辟空间效率会变低碎片也会增加。
http://www.w-s-a.com/news/162437/

相关文章:

  • 网站怎么做图片转换广州车陂网站建设公司
  • 下载flash网站网站设计书的结构
  • 水利建设公共服务平台网站放心网络营销定制
  • 设计网站过程wordpress+分页静态
  • 临海网站制作好了如何上线如果安装wordpress
  • 长沙 学校网站建设网站制作价格上海
  • 九江网站推广徽hyhyk1国家住房部和城乡建设部 网站首页
  • 阿克苏网站建设咨询动漫设计与制作属于什么大类
  • 网站编辑做多久可以升职wordpress版权修改
  • 网站开发维护成本计算国外外贸平台
  • 简单的招聘网站怎么做购物网站功能报价
  • 哪个网站做中高端衣服建设自己网站的流程
  • 网站建设概况做网站的是怎么赚钱的
  • 网站发布信息的基本流程现在都不用dw做网站了吗
  • 赣州热门网站深圳龙岗做网站的公司
  • 中国最大的建站平台广告传媒公司取名
  • 深圳网站设计公司专业吗学动漫设计后悔死了
  • 企业网站形象建设网站开发入职转正申请书
  • 网站设计步骤济南建设网中标公告
  • 石佛营网站建设wordpress关健词
  • 您的网站空间即将过期建站 discuz
  • 上海简站商贸有限公司福州哪家专业网站设计制作最好
  • 博客网站开发流程苏州专业做网站的公司哪家好
  • 四川手机网站建设西安 网站 高端 公司
  • 织梦大气绿色大气农业能源化工机械产品企业网站源码模版建筑工程知识零基础
  • 广州番禺网站公司v2017网站开发
  • 微信公众号怎么做微网站wordpress和dz
  • 西部数码网站管理助手 301福州搜索优化实力
  • 响应式网站介绍页面模板功能找不到
  • 公司网站如何seo自己做资讯网站