c/c++ 柔性数组

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

struct stu{

int i;

char c;

int arr ; //未知大小数组,并且是整个结构体最后一个成员

}
这个时候结构体所占字节空间是多少?
答案是8个字节
int 4个字节,vs自带对齐数是8,所以偏移量是4个字节
char 1个字节,vs自带对齐数是8,所以偏移量是1个字节
4+1=5个字节,
但是结构体总共占的大小应该是偏移量的整数倍,所以既为8个字节。

相关推荐
星轨初途18 天前
【C++进阶】vector 类从入门到精通:核心接口与内存机制实战指南
c语言·开发语言·c++·经验分享·笔记·柔性数组
qq_2965532720 天前
[特殊字符] 旋转排序数组中的高效搜索:从线性到二分查找的进阶之路
数据结构·算法·搜索引擎·分类·柔性数组
图码20 天前
[特殊字符] 高效统计排序数组中目标元素的出现次数
数据结构·算法·排序算法·柔性数组·图搜索
图码22 天前
二分查找进阶:如何在有序数组中快速找到Upper Bound?
数据结构·算法·面试·分类·柔性数组
qq_296553271 个月前
[特殊字符] 搜索插入位置:从O(n)到O(log n)的优雅进化
数据结构·算法·面试·分类·柔性数组
LuminousCPP1 个月前
C 语言动态内存管理全解析:从基础函数到柔性数组与内存分区
c语言·经验分享·笔记·学习·柔性数组
凉茶钱1 个月前
【c语言】动态内存管理:malloc,calloc,realloc,柔性数组
c语言·c++·vscode·柔性数组
图码1 个月前
最大子数组和问题:从暴力到Kadane算法的优雅蜕变
数据结构·算法·动态规划·柔性数组
qq_296553271 个月前
[特殊字符] 数组中的递增三元组:O(n) 时间高效查找,面试必考!
数据结构·算法·面试·职场和发展·组合模式·柔性数组
qq_296553271 个月前
【LeetCode】最大子数组乘积:三种解法从暴力到最优
数据结构·算法·leetcode·职场和发展·动态规划·柔性数组