likebird 发表于 2006-11-11 18:45:50

求助:sizeof(struct a) 问题

求助:sizeof(struct a) 问题
代码如下:
#include "stdio.h"
/*                        ++++++++++++++++++                        */
int checksize()
{
    struct a
    {
      unsignedchar 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字节。请教高手。



mozilla 发表于 2006-11-13 13:06:07

字节对齐问题,你google一下吧
页: [1]
查看完整版本: 求助:sizeof(struct a) 问题