ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

C语言struct,union内存对齐

2026/8/24 8:13:26 拓冰建站 浏览量
C语言struct,union内存对齐

测试环境:
在这里插入图片描述

#include<stdio.h>
int main(){//1字节对齐struct XXX{unsigned char ch;unsigned int in;unsigned short si;}__attribute__((packed));struct XXX xxx;printf("%zd\n",sizeof(xxx));//7#pragma pack(1)struct YYY{unsigned char ch;unsigned int in;unsigned short si;};struct YYY yyy;printf("%zd\n",sizeof(yyy));#pragma pack()//不进行对齐限制,编译器决定//默认对齐方式是采用当前最长的变量的长度作为对齐方式struct ZZZ{unsigned char ch;unsigned int in;unsigned short si;};struct ZZZ zzz;printf("%zd\n",sizeof(zzz));//12return 0;
}

在这里插入图片描述