首页 > 代码库 > C++常见题

C++常见题

大端小端问题:内存从左到右读史从高低址到低地址,故为小端

字节对齐问题:常见的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;

 

C++常见题