大端小端问题:内存从左到右读史从高低址到低地址,故为小端
字节对齐问题:常见的32位系统
struct A
{
int a;
char b;
short c;
};
struct B
{
char b;
int a;
short c;
};
A占8字节,B占12字节。
union{
int a;
char b[2];
}n;
int main(){
n.b[0]=1;
n.b[1]=1;
printf("%d",n.a);
system("pause");
return 0;
}
这里输出257,可见char的数组是右对齐的。
对于
unsigned int i = -1;
printf("%d\n", i );
输出-1;
时间: 2024-10-10 14:36:55