打印

求助:sizeof(struct a) 问题

求助:sizeof(struct a) 问题

求助:sizeof(struct a) 问题
代码如下:
#include "stdio.h"
/*                          ++++++++++++++++++                          */
int checksize()
{
    struct a
    {
        unsigned  char a1;
        unsigned short a2;
        unsigned char a11;
        unsigned long a4;
        unsigned char a111;
        unsigned short a22;
        unsigned char a1111;
    };  /*12*/

    printf("the sizeof(unsigned char)  is: %3d\n\n",sizeof(unsigned char));
    printf("the sizeof(unsigned short) is: %3d\n\n",sizeof(unsigned short));
    printf("the sizeof(unsigned int)   is: %3d\n\n",sizeof(unsigned int));
    printf("the sizeof(unsigned long)  is: %3d\n\n",sizeof(unsigned long));
    printf("the 12-20 sizeof(struct a) is: %3d\n\n",sizeof(struct a));

    getchar();

    return 1;
}

main()
{
   checksize();
   return;
}

sizeof(struct a) 应该是12字节,可在VC++中是20字节,在C中也是12字节。请教高手。



TOP

字节对齐问题,你google一下吧

TOP