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

3733手游网站在哪里做的安装完整wordpress主题

3733手游网站在哪里做的,安装完整wordpress主题,给一个网站,怎么在网站上做模式题库柔性数组1. 柔性数组介绍2. 柔性数组特点3. 用例3.1 代码一:3.2 代码二:4. 柔性数组优势:1. 柔性数组介绍 也许你从来没有听说过柔性数组(flexible array)这个概念,但是它确实是存在的。 C99 中&#xff0c…

柔性数组

  • 1. 柔性数组介绍
  • 2. 柔性数组特点
  • 3. 用例
    • 3.1 代码一:
    • 3.2 代码二:
  • 4. 柔性数组优势:

1. 柔性数组介绍

也许你从来没有听说过柔性数组(flexible array)这个概念,但是它确实是存在的。

C99 中,结构中的最后一个元素允许是未知大小的数组,这就叫做『柔性数组』成员。

例如:零长度数组概念

struct S
{int n;char c;int arr[];//柔性数组成员
};

有些编译器无法编译,可以改成:

struct S
{int n;char c;int arr[0];//柔性数组成员
};

2. 柔性数组特点

  • 结构中的柔性数组成员前面必须至少一个其他成员。

  • sizeof 返回的这种结构大小不包括柔性数组的内存。

  • 包含柔性数组成员的结构用malloc ()函数进行内存的动态分配,并且分配的内存应该大于结构的大小,
    以适应柔性数组的预期大小。

3. 用例

3.1 代码一:

在这里插入图片描述

//代码一:
struct S
{int n;char c;int arr[];
};
int main()
{struct S* ps = (struct S*)malloc(sizeof(struct S) + 10 * sizeof(int));//设置int arr数组元素为10个,10*sizeof(int)if (ps == NULL){printf("%s\n", strerror(errno));return 1;}ps->n = 100;ps->c = 'w';for (int i = 0;i < 10;i++){ps->arr[i] = i;}for (int i = 0;i < 10;i++){printf("%d\n", ps->arr[i]);}free(ps);ps = NULL;
}

3.2 代码二:

在这里插入图片描述

//代码二:
struct S
{int n;char c;int* arr;
};int main()
{struct S* ps = (struct S*)malloc(sizeof(struct S));if (ps == NULL){perror("malloc");return 1;}int*ptr = (int*)malloc(10 * sizeof(int));//设置int arr数组元素为10个,10*sizeof(int)if (ptr == NULL){perror("malloc2");return 1;}else{ps->arr = ptr;}//使用ps->n = 100;ps->c = 'w';int i = 0;for (i = 0; i < 10; i++){ps->arr[i] = i;}//打印for (i = 0; i < 10; i++){printf("%d ", ps->arr[i]);}//扩容 - 调整arr的大小ptr = realloc(ps->arr, 20 * sizeof(int));//增容int arr数组元素为20个,10*sizeof(int)if (ptr == NULL){perror("realloc");return 1;}else{ps->arr = ptr;}//使用ps->n = 100;ps->c = 'w';for (i = 0; i < 20; i++){ps->arr[i] = i;}//打印for (i = 0; i < 20; i++){printf("%d ", ps->arr[i]);}//释放free(ps->arr);ps->arr = NULL;free(ps);ps = NULL;return 0;
}

4. 柔性数组优势:

代码一和代码二都可以完成相同功能,但代码一有以下两个好处:

第一个好处是:方便内存释放。

如果我们的代码是在一个给别人用的函数中,你在里面做了二次内存分配,并把整个结构体返回给用户。

用户调用free可以释放结构体,但是用户并不知道这个结构体内的成员也需要free,所以你不能指望用户来发现这个事。

所以,如果我们把结构体的内存以及其成员要的内存一次性分配好了,并返回给用户一个结构体指针,用户做一次free就可以把所有的内存也给释放掉。
在这里插入图片描述

第二个好处是:这样有利于访问速度。

连续的内存有益于提高访问速度,也有益于减少内存碎片。

(其实,我个人觉得也没多高了,反正 你跑不了要用做偏移量的加法来寻址)

补充:局部性原理:

  • 局部性原理是计算机科学中的一种基本原理,指的是程序中的指令和数据在执行时会集中在较小的一部分存储器中,并且在短时间内重复使用。这种局部性表现在两个方面:时间局部性和空间局部性。

  • 时间局部性指的是,某个数据或指令一旦被使用,在短时间内会被多次使用。例如,在循环结构的程序中,循环体内的指令会被反复执行。

  • 空间局部性指的是,某个数据或指令的使用会对其周围的数据与指令产生影响,这些数据和指令也会在短时间内被多次使用。例如,在数组操作中,相邻的元素都会被频繁地访问。

  • 局部性原理的应用可以提高计算机系统的性能,例如通过缓存技术和虚拟内存技术,让系统可以快速地访问常用的数据和代码,从而减少了额外的访问时间和存储开销。

👊👊👊
感谢阅读!

http://www.yayakq.cn/news/697155/

相关文章:

  • 福建大舟建设集团有限公司 网站网上作业网站怎么做的
  • 自已建外贸网站网易企业邮箱小程序
  • 哈尔滨网络科技公司做网站二十四个关键词
  • 企业建网站群网站特效js代码
  • 做网站公司(信科网络)怎么提高网站的知名度
  • 关于百度网站是多少从化网站开发公司
  • 简述网站设计基本流程介绍企业的ppt
  • 个人快速建站网站双链接怎么做
  • 私活做网站搭建平台网站
  • 成都网站建设零一医疗网站备案前置审批
  • 免费广州网站开发维护炫酷特效网站
  • 重庆装修协会快速排名优化推广价格
  • 公司网站赏析信息化网站建设引言
  • 吉林省建设工程造价信息网站请人做网站 我需要知道哪几点
  • 大型网站建设完全教程国外域名注册商哪家好
  • 综合性医院网站源代码下载中山做展示型网站
  • 与恶魔做交易的网站网站开发推荐一本书
  • 北京酷站科技有限公司wordpress换邮箱
  • 深圳手机端网站建设设计公司电商网站建设培训
  • 网站建设公司首页企业形象设计考试
  • 仿牌网站空间成都公司注册核名官网
  • 众鱼深圳网站建设学管理培训班去哪里学
  • 定制网站开发哪里好网页页面下载
  • 个人怎么建设图书网站注册公司2个人可以吗
  • 邯郸营销网站建设公司哪家好开平网站建设
  • 台州云推广网站模板号专注于网站
  • 网站开发人力成本网站运营难吗
  • 直播间网站建设小程序推广代理商
  • 网站开发都做些什么360建筑网会员怎么免费
  • 网页添加兼容性站点杭州省建设厅网站