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

宝安各大网站制作比较好的重庆seo优

宝安各大网站制作比较好的,重庆seo优,不用代码做网站,龙华网站建设招聘C99中,结构体中最后一个元素允许时未知大小的数组,这就叫做柔性数组成员。 vs编译器也支持柔性数组。 之所以把柔性数组单独列出,是因为: 1、柔性数组是建立在结构体的基础上的。 2、柔性数组的使用用到了动态内存分配。 这使得柔…

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

vs编译器也支持柔性数组。

之所以把柔性数组单独列出,是因为:

1、柔性数组是建立在结构体的基础上的。

2、柔性数组的使用用到了动态内存分配。

        这使得柔性数组不能单独的放在其他两篇文章当中,因此本文较为剪短,只介绍柔性数组这一个概念。

柔性数组的声明:

1、一定是在结构体中。

2、柔性数组前面一定要有 其他成员。

typedef struct s
{int i;int a[0];//柔性数组成员
}type_a;//若编译器其无法通过,则可以写为:
typedef struct st_type
{int i;int a[];//柔性数组成员
}type_a;
柔性数组的特点:

1、结构体中的柔性数组成员前必须至少有一个其他成员。

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

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

struct S
{int n;int arr[];//柔性数组成员
};//柔性数组成员和int*型成员类似
struct S
{int n;int* arr;
};

异:

1、柔性数组只需要一次malloc就可以完成结构体成员和数组的创建。

2、int*成员需要两次malloc来开辟,两次free来释放。

同:

1、柔性数组和int*成员两个都需要malloc来开辟空间、free释放。

柔性数组的使用
int main()
{struct S* ps = (struct S*)malloc(sizeof(struct S) + 40);if (ps == NULL){return 1;}ps->n = 100;int i = 0;for (i = 0; i < 10; i++){ps->arr[i] = i;}for (i = 0; i < 10; i++){printf("%d ", ps->arr[i]);}//调整大小struct S* ptr = (struct S*)realloc(ptr, sizeof(struct S) + 80);if (ptr != NULL){ps = ptr;ptr = NULL;}//释放free(ps);//只需要一次释放ps = NULL;return 0;
}
 int*成员的使用
int main()
{//创建struct S* ps = (struct S*)malloc(sizeof(struct S));//第一次mallocif (ps == NULL){//...return 1;}ps->n = 100;ps->arr = (int*)malloc(40);//第二次mallocif (ps->arr == NULL){//..报错return 1;}//使用int i = 0;for (i = 0; i < 10; i++){ps->arr[i] = i;}for (i = 0; i < 10; i++){printf("%d ", ps->arr[i]);}//扩容int* ptr = (int*)realloc(ps->arr, 80);if (ptr == NULL){return 1;}ps->arr = ptr;ptr = NULL;//释放//两次释放free(ps->arr);free(ps);return 0;
}

1、malloc的次数越多,free的次数越多,越容易造成内存泄漏。

2、malloc的次数越多,造成的内存碎片就越多,程序的性能就越低。

柔性数组的优势
  1. 方便内存的释放。
  2. 连续的内存能提高访问速度

        柔性数组只需要释放一次,不易产生内存泄漏。malloc一次开辟的空间是连续的,对内存的访问速度更高。

        一个结构体中只允许存在一个柔性数组。

 

http://www.hkea.cn/news/959656/

相关文章:

  • 代做毕业设计网站多少钱网站推广交换链接
  • 苹果指争议广告lg广告北京seo公司网站
  • flash网站制作公司能打开各种网站的浏览器下载
  • 网站开发是叫系统吗站长工具seo排名查询
  • 站长之家html模板西安网站seo技术厂家
  • 重庆网站建设 渝seo交流论坛
  • 洛阳市网站建设宁波seo网络推广软件系统
  • 做网站用建站模版好还是定制好百度站点
  • 关注济南网站建设深圳市企业网站seo
  • 安溪县住房和城乡建设网站色盲
  • 合肥做英文网站今日头条国际军事新闻
  • 西安有哪些做网站的公司好邵阳疫情最新消息
  • asia域名的网站竞价广告
  • 怎么注册公司支付宝账号seo求职信息
  • 多语言网站怎么做网络推广平台公司
  • 山东公司注册网站怎样写营销策划方案
  • 河北省香河县建设局网站中国互联网协会
  • 北京丰台区网站建设游戏推广赚佣金的平台
  • 网站没排名怎么办搜索引擎广告优化
  • wordpress内容主题模板网络网站推广选择乐云seo
  • 电子元器件商城网站建设百度开户怎么开
  • 企业网站开发基本流程百度博客收录提交入口
  • 甘特图模板关于网站建设微信营销模式
  • 网站建设的swot分析长尾关键词挖掘精灵
  • 发布自己的做家教的网站网店运营推广登录入口
  • b s网站系统如何做性能测试百度推广运营怎么做
  • 洛阳seo外包公司费用seo的中文意思
  • 政府网站建设遵循的原则seo网站内容优化
  • java做网站具体步骤邵阳seo优化
  • 自己做的网站如何放进服务器今天今日头条新闻