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

柔性数组内存如何分配

#define _CRT_SECURE_NO_WARNINGS 1

struct S 
{
    int n;
    int arr[0];//柔性数组,前面至少有一个其他成员
};

main() 
{
    //sizeof返回的这种结构大小不包括柔性数组的内存
    printf("%d\n", sizeof(struct S));
    //包含柔性数组成员的结构用malloc()函数进行内存的动态分配,
    //并且分配的内存应该大于结构体的大小,以适应柔性数组的预期大小

    struct S* ps =    (struct S*)malloc(sizeof(struct S) + 40);
    ps->n = 100;
    return 0;
}

优点:malloc次数少,离散的内存碎片少,访问效率高


http://www.kler.cn/a/226406.html

相关文章:

  • 从汇编层面理解C++ this指针
  • 【蓝桥杯】环形链表的约瑟夫问题
  • 概率论中的全概率公式、贝叶斯公式解析
  • 如何在win系统部署开源云图床Qchan并无公网ip访问本地存储图片
  • C++迷宫游戏详解
  • 窥探向量乘矩阵的存内计算原理—基于向量乘矩阵的存内计算
  • 编程实例分享,电玩城计时电玩店计时收费管理系统软件,可以控制电视电源计时程序
  • C/C++ (stdio.h)标准库详解
  • [晓理紫]每日论文分享(有中文摘要,源码或项目地址)--大模型、扩散模型、视觉
  • Codeforces Round 734 (Div. 3)B2. Wonderful Coloring - 2(贪心构造实现)
  • 【Node系列】Node全局对象
  • 【安装指南】maven下载、安装与配置详细教程
  • Vue.js 中子组件向父组件传值的方法
  • JS实例之:JS语音播报 new SpeechSynthesisUtterance();
  • 分别用JavaScript,Java,PHP,C++实现桶排序的算法(附带源码)
  • leetcode刷题(剑指offer) 103.二叉树的锯齿形层序遍历
  • 《统计学习方法:李航》笔记 从原理到实现(基于python)-- 第6章 逻辑斯谛回归与最大熵模型(1)6.1 逻辑斯谛回归模型
  • Apache Doris 整合 FLINK CDC + Iceberg 构建实时湖仓一体的联邦查询
  • 什么是ISO21434网络安全中的信息安全?-亚远景
  • sklearn.preprocessing 标准化、归一化、正则化