- 字符串和指针
void main()
{
char str[]="abcd";
char *p=str;
printf("%d %d\n",sizeof(str),sizeof(p));
}
结果:5 4
- 整型和浮点型
void main()
{
short i;
int k;
long j;
double x;
float y;
printf("%d,%d,%d,%d,%d\n",sizeof(i),sizeof(k),sizeof(j),sizeof(x),sizeof(y));
}
结果:2,4,4,8,4
- 结构体
规则:
1.结构体变量中成员的偏移量必须是成员大小的整数倍(0被认为是任何数的整数倍)
2.结构体大小必须是所有成员大小的整数倍。
struct temp
{
int i;
double j;
};
struct A
{
short i; //2
int k; //4
long j; //4
char n[5]; //5
};
void main()
{
printf("%d,%d\n",sizeof( temp),sizeof(A));
}
结果:16,20