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

潍坊网站建设wfyckj行列资讯工程造价信息网

潍坊网站建设wfyckj,行列资讯工程造价信息网,自适应wordpress模板免费,wordpress员工管理系统目录什么是柔性数组柔性数组的使用什么是柔性数组 柔性数组是在C99中定义的 结构体的最后一个元素允许是未知大小的数组#xff0c;这就叫柔性书组 柔性数组的长度可以写成0#xff0c;也可以不规定数组长度 下面两种写法都是正确的 struct S { int i; int a[0];//柔性数… 目录什么是柔性数组柔性数组的使用什么是柔性数组 柔性数组是在C99中定义的 结构体的最后一个元素允许是未知大小的数组这就叫柔性书组 柔性数组的长度可以写成0也可以不规定数组长度 下面两种写法都是正确的 struct S { int i; int a[0];//柔性数组成员 }struct S { int i; int a[];//柔性数组成员 }结构体中的柔性数组成员前面至少有一个其他成员sizeof返回的这种结构体的大小不包括柔性数组的大小包含柔性数组成员的结构体用malloc ()函数进行内存的动态分配并且分配的内存应该大于结构的大 小以适应柔性数组的预期大小。 柔性数组的使用 typedef struct S {int i;char c[];//c是柔性数组 }S;int main() {S* p (S*)malloc(sizeof(S) 10 * sizeof(char));if (p NULL){perror(malloc);return 1;}p-i 10;for (int i 0; i 10; i){p-c[i] a;}free(p);p NULL;return 0; }在malloc开辟空间时开辟空间大小为sizeof(S) 10 * sizeof(char)前面的sizeof(S)其实是表示结构体中int i的大小后面则是给c开辟了10个字节大小的连续空间 如果觉得前面开辟空间小了数组c不够长还可以用realloc函数对内存大小进行调整 int main() {S* p (S*)malloc(sizeof(S) 10 * sizeof(char));if (p NULL){perror(malloc);return 1;}p-i 10;S* ptr (S*)realloc(p, sizeof(S) 20 * sizeof(char));if (ptr NULL){perror(realloc);return 1;}p ptr;for (int i 0; i 20; i){p-c[i] a;}free(p);p NULL;return 0; }其实我们也可以写出另一种形式的结构体它的功能与柔性数组类似 typedef struct S2 {it i;char* c; }S2;对于这个结构体的使用如下 int main() {S2* p (S2*)malloc(sizeof(S2));p-i 10;p-c (char*)malloc(10 * sizeof(char));for (int i 0; i 10; i){p-c[i] a;}free(p-c);p-c NULL;free(p);p NULL;return 0; }为了使用这个结构体需要先给结构体开辟一个空间S2* p (S2*)malloc(sizeof(S2));然后再需要动态开辟一个块空间让c指向 这种写法需要开辟2次内存同样在最后释放内存是也需要free2次 所以就可以看出柔性数组的好处 第 一个是方便内存释放 因为不论是我们在使用时或给别人写一个函数让别人使用时如果在里面做了二次内存分配可能别人使用时并不会知道结构体内部还有一个成员需要释放。所以就需要把内存一次性分配好在最后释放一次内存就可以了 第二个是加快访问 如果二次内存分配就会在内存中产生一些内存碎片这样即浪费了空间也不利于访问
http://www.hkea.cn/news/14395875/

相关文章:

  • 门户网站是以什么为主上海协会网站建设
  • 上海城建设计院网站wordpress判断使用不同模板
  • 三网合一的网站怎么做20个优秀的响应式设计html5网站模板
  • 天津公司网站制作wordpress本站主题
  • cms网站群在线查企业信息查询平台
  • 提供微信网站建设静态网站开发技术
  • 旅游网站建设的好处网站引流怎么做的
  • 清溪镇网站建设公司网站文档怎么加图片不显示不出来
  • 高端网站建设谷美开发游戏的职业叫什么
  • 北京的网站建设收费标准自己创建app
  • 系统之家win7纯净版广州seo网络优化公司
  • 厦门网站建设工作室网监大队让网站备案
  • 做地图特效的网站成都注册公司多少钱
  • 做效果图网站有哪些装饰公司简介内容
  • 无为县住房建设局网站首页logo免费一键生成
  • 房地产做网站公司文化建设
  • 网站建设产品经理职责四川建筑人员证书查询官网
  • 集团公司网站 案例学it需要什么学历
  • 网站怎么做qq微信登陆界面郴州网站设计公司
  • 一个模拟做实验的网站西安优化网站
  • 做网站知道访客ip做搜狗手机网站快速
  • 会计培训网站医疗机构网站
  • 网站建设卖点什么是软件定制开发
  • 企业网站标签页是什么网页编辑布局在线
  • 网站建设合同用贴印花税吗南宁企业门户网站建设价格
  • 网站 工信部备案 收回别人抄袭网站设计怎么办
  • 织梦做仿站时 为何会发生本地地址跳转网站地址大连网站制作机构
  • 企业做网站哪家公司好跨境电商知名网站建设
  • 兰州企业建设网站软文的概念
  • 可视化响应式网站建设物流网站大全