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

怎么做企业网站本地部署iis部署网站

怎么做企业网站,本地部署iis部署网站,中国培训网官网,无棣县建设局网站目录 前言#xff1a; 柔性数组#xff1a; 给柔性数组分配空间#xff1a; 调整柔性数组大小#xff1a; 柔性数组的好处#xff1a; 前言#xff1a; 柔性数组#xff1f;可能你从未听说#xff0c;但是确实有这个概念。听名字#xff0c;好像就是柔软的数…目录 前言  柔性数组 给柔性数组分配空间  调整柔性数组大小 柔性数组的好处  前言  柔性数组可能你从未听说但是确实有这个概念。听名字好像就是柔软的数组是不是意味着这个数组大小是可以变化的但是不是只有C99才有可变数组吗别急往下看注此章节涉及动态内存知识详情请看动态内存函数-CSDN博客。 柔性数组 柔性数组是在结构体中使用的就是说可以不指定数组元素内容但前面必须至少有一个明确大小的数据类型且柔性数组必须位于结构体中最后一个成员。 我们分析上面的话可以得到以下四点重要信息 必须在结构体中使用。柔性数组必须位于结构体中最后一个成员。可以不指定其大小。前面必须有一个明确大小的数据类型。 //柔性数组 struct S {int n;int arr[];//未知大小 }; int main() {struct S s;printf(%d\n, sizeof(s));//在计算结构体大小时,不包含柔性数组成员return 0; } 因为柔性数组没有定义大小而且柔性数组必须位于结构体的最后一个成员所以在计算内存的时候默认把柔性数组的大小计为0。既然没有计算柔性数组的大小那么到底该如何使用呢 给柔性数组分配空间  此时就需要用到动态内存函数了因为结构体大小固定所以我们想使用柔性数组就必须给结构体分配空间所以结构体的空间也需要动态内存函数来开辟以至于我们要使用结构体指针。 //柔性数组 struct S {int n;int arr[];//未知大小 }; int main() {struct S s;struct S* p (struct S*) malloc(sizeof(struct S) 5 * sizeof(int));//开辟原来结构体大小之后再给柔性数组分配空间为5个int类型p-n 100;//柔性数组 struct S {int n;int arr[];//未知大小 }; int main() {struct S s;struct S* p (struct S*)malloc(sizeof(struct S) 5 * sizeof(int));//开辟原来结构体大小之后再给柔性数组分配空间为5个int类型p-n 100;int i 0;for (i 0; i 5; i){p-arr[i] i;}//打印printf(%d\n, p-n);for (i 0; i 5; i){printf(%d , p-arr[i]);}//释放free(p);p NULL;return 0; }int i 0;for (i 0; i 5; i){p-arr[i] i;}//释放free(p);p NULL;return 0; } 堆区中开辟一块动态内存并使用p来指向这块动态内存。这块动态内存的大小必须大于结构体大小柔性数组必须配合动态内存函数使用因为柔性数组没有办法直接赋值我们只能配合动态内存函数来对柔性数组赋值。  一定注意我们申请的内存空间也包括了结构体中的首个元素。  调整柔性数组大小 使用realloc函数调整其大小。 //柔性数组 struct S {int n;int arr[];//未知大小//int arr[0];//也可以这样定义 }; int main() {struct S s;struct S* p (struct S*) malloc(sizeof(struct S) 5 * sizeof(int));p-n 100;int i 0;for (i 0; i 5; i){p-arr[i] i;}struct S*ptr(struct S*)realloc(p, 44);//将总体大小调整为44字节//相当于给柔性数组扩容为40字节 if (ptr ! NULL){p ptr;}for (i 0; i 10; i){p-arr[i] i;}for (i 0; i 10; i){printf(%d , p-arr[i]);}//释放空间free(p);p NULL;return 0; } 柔性数组的好处  既然指针指向的空间需要用动态内存函数开辟那么直接将柔性数组替换为指针不就好了吗干嘛多此一举这么费事此时我就举一个不用柔性数组的例子 struct S {int n;int* arr; }; int main() {struct S* ps (struct S*)malloc(sizeof(struct S));ps-arr malloc(5 * sizeof(int));int i 0;for (i 0; i 5; i){ps-arr[i] i;}for (i 0; i 5; i){printf(%d ,ps-arr[i]);}//调整大小int* ptr realloc(ps-arr, 10 * sizeof(int));if (ptr ! NULL){ps-arr ptr;}for (i 5; i 10; i){ps-arr[i] i;}for (i 0; i 10; i){printf(%d , ps-arr[i]);}free(ps-arr);ps-arrNULL;free(ps);ps NULL;return 0; } 有人说为啥要定义结构体指针呢以至于还要给结构体开辟空间。大家有没有想过我们平时使用函数难免会传参我们知道形参是实参的一份临时拷贝所以为了节省空间我们一般是传址调用所以这里使用了结构体指针开辟内存。 之后来看使用柔性数组完成以上相同功能 struct S {int n;int arr[]; }; int main() {struct S* ps (struct S*)malloc(sizeof(struct S) 5 * sizeof(int));int i 0;for (i 0; i 5; i){ps-arr[i] i;}for (i 0; i 5; i){printf(%d , ps-arr[i]);}printf(\n);//调整大小int* ptr realloc(ps, 11 * sizeof(int));if (ptr ! NULL){ps ptr;}for (i 5; i 10; i){ps-arr[i] i;}for (i 0; i 10; i){printf(%d , ps-arr[i]);}free(ps);ps NULL;return 0; } 此时我们就会发现不使用柔性数组需要释放两次由动态内存函数开辟的空间因为还要释放结构体成员指针开辟的空间会显得有些繁琐而柔性数组就不需要释放两次只需要一次即可满足需求。这就是柔性数组的好处。 有利于访问速度的提升因为动态内存开辟是连续的所以就提高了访问速度也有利于减少内存碎片。
http://www.pierceye.com/news/239099/

相关文章:

  • 遵义住房城乡建设厅网站电子商务网店毕业设计
  • 惠州市博罗县建设局网站防静电产品东莞网站建设技术支持
  • 茂名整站优化百度一下 你知道首页
  • 郑州网站微信微博维护品牌网站建设流程图
  • 网站建站销售怎么做做门窗安装去哪些网站找生意
  • 太原建站司点击查看荆州网站开发
  • 个人音乐网站开发宁波网站推广工作室电话
  • 建设部网站 造价工程师wordpress忘了秘密
  • 如何分析一个网站建设策划案湖南网络推广公司大全
  • 惠州市建设工程交易中心网站如何制作网页导航栏
  • 保山网站建设哪家好做led视频好的网站
  • 如何利用网站策划做好网站建设申请域名要多少钱
  • 专业做公司logo的网站谷歌网站推广方案
  • 公司网站建设情况说明网站开发用php好吗
  • 网站做关键词库的作用空间怎么做网站
  • 制作网站公司名称网络营销与策划实践报告
  • 哈尔滨手机网站建设价格低长沙网业公司
  • 如皋网站建设公司网站推广优化排名
  • 行业网站方案网站搭建合同
  • 如何用ps做网站图标吉林省长春市建设局网站
  • 北京高端网站建设服务广州百度快速排名优化
  • 电子商务网站开发课程设计网站建设石家庄
  • 好的公司网站有什么用烟台建设集团招聘信息网站
  • 网站制作需要多长时间网站代建设费用
  • 淘宝客网站设计台州建设银行官方网站
  • 婚纱网站建设规划书2023全国企业公司大黄页
  • 网站seo的关键词排名怎么做的wordpress 在线留言
  • 建一个c2c网站要多少钱小程序云开发文档
  • asp网站合法上虞网站设计
  • 网站 用什么数据库蛋糕店网站建设方案