typedef struct _tagTest
{
double f;
char c;
int  i;
unsigned char sz[12];
}TEST;问:sizeof(TEST)=?
为什么?

解决方案 »

  1.   

    #pragma  pack(push, 1)typedef struct _tagTest
    {
    double f;
    char c;
    int  i;
    unsigned char sz[12];
    }TEST;
    #pragma pack( pop )改为一字节对齐,就是成员的总和
      

  2.   

    struct member alignment:8 bytes *
      

  3.   

    typedef struct _tagTest
    {
    char f;
    char c;
    //int  i;
    //unsigned char sz[12];
    }TEST;在VC6.0下
    sizeof(TEST) == 2;应该huangjianmin(撒旦使者)的对的
      

  4.   

    平时,都没有怎么注意这样的问题,因为有sizeof
    但是,如果数组很大,就要考虑内存的问题
    在一次将数组数据写入文件后,觉得这个问题应该弄明白huangjianmin(撒旦使者) 的说法是对的
    striking(硬撑者) 的做法很cool!