Linux C 进阶 —— 零长数组
数据结构中包含的虚拟字段(零长数组)不占字节空间,但是会影响字节对齐,即影响结构体的大小,如
1 typedef struct 2 { 3 short x; 4 short y; 5 short z; 6 }ST1; 7 8 typedef struct 9 { 10 short x; 11 short y; 12 short z; 13 int w[0]; 14 }ST2; 15 16 int main(void) 17 { 18 ST1 st1; 19 ST2 st2; 20 21 printf("sizeof(ST1) = %lu B, sizeof(ST2) = %lu B\r\n", 22 sizeof(ST1), sizeof(ST2)); 23 24 return 0; 25 }
输出
sizeof(ST1) = 6 B, sizeof(ST2) = 8 B
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)