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

兰州网站建设推广现代营销手段有哪些

兰州网站建设推广,现代营销手段有哪些,wordpress更改图标,wordpress汉化插件软件一、介绍 柔性数组#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/391293/

相关文章:

  • 郴州网站seo优化网络安全哪个培训班比较好
  • 做网站需要记哪些代码企业网站建设思路
  • 重庆自助建站模板网络服务器配置与管理
  • 外贸网站怎样做小程序买量平台
  • 中山精品网站建设机构海外留学网站建设方案
  • 长春网站建设工作如何取消wordpress页脚
  • 忻府网站建设排名网络管理系统官网
  • 张家港外贸网站建设国医堂网站平台建设
  • 水冶那里有做网站的对于网站链接优化有哪些建议
  • 宝安中心地铁站是几号线化妆品网站做的好的
  • 海宁营销型网站设计企业融资是什么意思
  • 淘宝客做网站要钱吗网站开发试题库
  • 10g空间网站做视频网站网站建设找超速云
  • 一元购网站怎么做企业网站源码cms
  • 域名不变 网站改版临沂企业网站建站模板
  • 天河网站建设信科网络外包公司和公司直招哪个好
  • 网站制作哈尔滨聊天系统源码
  • 网站建设朋友圈素材青白江建设网站
  • 红酒网站设计软件设计文档
  • 如何创建网站目录网站申请支付宝接口
  • 网站做区块链然后往里面投钱品牌设计公司收费标准
  • 2022互联网+创新创业项目呼和浩特企业网站排名优化
  • 电子商务类网站建设山西自助建站系统怎么用
  • odoo做网站网站设置专栏有什么好处
  • 局域网内个人网站建设查询企业的网站有哪些
  • 网站建设属于技术开发吗网页制作团队
  • 做家常菜的网站哪个好哪个网站做图片外链
  • 眼科医院网站设计怎么做6深圳宝安是什么风险等级
  • 网站制作容易吗logo免费生成网站
  • 建设厅官方网站下载专区网络托管公司