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

网站后台账户如何做会计分录档案网站建设比较分析

网站后台账户如何做会计分录,档案网站建设比较分析,wordpress首页错误,建设网站需要申请目录 1.柔性数组 2.柔性数组的特点 3.柔性数组的使用 4.柔性数组的优势 1.柔性数组 C99 中,结构体中的最后一个元素允许是未知大小的数组,这就叫做『柔性数组』成员。 例如: struct S {char c;int n;int arr[];//柔性数组 }; struct …

目录

1.柔性数组

2.柔性数组的特点 

3.柔性数组的使用 

4.柔性数组的优势 


1.柔性数组

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

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

有些编译器支持a[0]这种写法,有些编译器支持a[ ]这种写法,具体取决于编译器。


2.柔性数组的特点 

  • 结构体中的柔性数组成员前面必须至少有一个其他成员
  • sizeof 返回的这种结构大小不包括柔性数组的内存
  • 包含柔性数组成员的结构用malloc 函数进行内存的动态分配,并且分配的内存应该大于结构体的大小,以适应柔性数组的预期大小。

例如:

#include<stdio.h>
struct S
{int n;int arr[0];//柔性数组
};
int main()
{printf("%zd\n", sizeof(struct S));return 0;
}

运行结果:


3.柔性数组的使用 

代码1:结构体里放数组

#include<stdio.h>
#include<stdlib.h>
struct S
{int n;int arr[0];//柔性数组
};
int main()
{//期望数组可以存放5个元素struct S* ps=(struct S*)malloc(sizeof(struct S) + 5 * sizeof(int));if (ps == NULL){perror("malloc");return 1;}ps->n = 100;int i = 0;for (i = 0; i < 5; i++){ps->arr[i] = i;}//调整空间//期望数组可以存放10个元素struct S* ptr=(struct S*)realloc(ps, sizeof(struct S) + 10 * sizeof(int));if (ptr != NULL){ps = ptr;}//使用//释放free(ps);ps = NULL;return 0;
}

通过realloc函数调整空间使数组变大变小,从而使柔性的特点更加鲜明,也不难想到它放在结构体中最后一个元素的原因。 

内存窗口:


4.柔性数组的优势 

代码2:结构体里放指针

#include<stdio.h>
#include<stdlib.h>
struct S
{int n;int* arr;
};
int main()
{struct S* ps = (struct S*)malloc(sizeof(struct S));if (ps == NULL){perror("malloc");return 1;}ps->arr =(int*) malloc(5 * sizeof(int));if (ps->arr == NULL){perror("malloc");return 1;}//使用ps->n = 100;int i = 0;for (i = 0; i < 5; i++){ps->arr[i] = i;}//调整数组大小int*ptr =(int*)realloc(ps->arr, 10 * sizeof(int));if (ptr != NULL){ps->arr = ptr;}//使用//释放  注意:释放两块空间的先后顺序!free(ps->arr);ps->arr = NULL;free(ps);ps = NULL;return 0;
}

 

注意:释放两块空间的先后顺序!如果先释放ps指向的内存空间,就找不到arr的值了,导致arr指向的内存空间无法释放。所以,要先释放arr指向的数组,再释放ps指向的内存。

上述代码1和代码2可以完成同样的功能,但是代码1的实现有两个好处

1.方便内存释放 

代码2里面做了二次内存分配,结构体内的成员也需要free,用户需要做两次free把内存释放掉,并且需要注意释放内存的顺序,而代码1用户做一次free就可以把所有的内存给释放掉。

2.有利于提高访问速度

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


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

相关文章:

  • 福州seo网站优化开发商城网站建设
  • dede网站后台模板网站扩展名
  • 电商平台网站大全做企业网站为什么要服务器呢
  • 如何提高网站设计能力网站后台目录如何保护
  • 宁波网站建设培训班抖音关键词搜索指数
  • 阿里云网站建站黑龙江省营商环境建设监察局网站
  • 凡科网站后台在哪里.设计制造中国第一架飞机的人是
  • 微网站建设定制网站建设无极在线招聘网最新招聘
  • 鲜花网网站建设的目的oa系统网站建设
  • 三大框架对网站开发的作用网站开发人员兼职
  • 做网站制作较好的公司南京建设网站方案
  • 开发小网站排名网站开发写好了怎么发布
  • 做网站用什么环境昆明公司网站优化
  • 网站的ppt方案怎么做湛江网站seo推广
  • 曲靖住房和城乡建设局网站wordpress路由插件开发
  • 做网站有哪些软件建设网站里的会员系统
  • 绍兴市建设银行网站做网站背景全覆盖的代码
  • 网站制作电话多少钱国内优秀的网站设计
  • 网站百科源码网站降权怎么恢复
  • 郑州企业做网站h汉狮深圳代理记账公司电话
  • 动漫网站实现功能优化电脑的软件有哪些
  • 商鼎营销型网站建设网页制作工具通常在什么上建立热点
  • 建设一个棋牌网站都得准备什么一个网站按钮怎么做
  • 广州网站建设定制哪家口碑好客户提出网站建设申请
  • 特色网站设计网址大全免费下载安装
  • 徐州手机模板建站河南省建筑工程网
  • 坑梓网站建设流程做网站的商标是哪类
  • 国外包装设计网站免费注册163免费邮箱
  • 网站开发设计师薪资合肥企业网站建设专家
  • 免费建各种网站wordpress网站后台