关于struct 和union的一些小问题求教
以下程序在VC6.0中的结果:sizeof(tests)=20
sizeof(A)=16
sizeof(B)=24
Press any key to continue
在Win-TC中的结果:
sizeof(tests)=12
sizeof(A)=11
sizeof(B)=11
谁能解释一下??
程序代码:
#include <stdio.h> struct test { int m1; char m2; float m3; union uu { char u[5]; int u2[2]; }ua; }tests; struct A { char a; int b; double c; }A; /*A和B只是变量的位置顺序不一样*/ struct B { int b; double c; char a; }B; int main() { printf("sizeof(tests)=%d\n",sizeof(tests)); printf("sizeof(A)=%d\n",sizeof(A)); printf("sizeof(B)=%d\n",sizeof(B)); return 0; }