struct B
{
private:
bool m_bTemp;
int m_nTemp;
bool m_bTemp1;
};
struct C
{
private:
int m_nTemp;
bool m_bTemp;
bool m_bTemp1;
};
// sizeof(B),sizeof(C)的值?32位机器,数据以4字节为对齐方式
// 如果2个数据所占字节数<4则这2个数据占用一个4个字节,否则,单独占用4个字节
/*
B的字节数为4*3=12字节
|bool|--|--|--|
| int |
|bool|--|--|--|
*/
/*
C的字节数为4*2=8字节
| int |
|bool|bool|--|--|
{
private:
bool m_bTemp;
int m_nTemp;
bool m_bTemp1;
};
struct C
{
private:
int m_nTemp;
bool m_bTemp;
bool m_bTemp1;
};
// sizeof(B),sizeof(C)的值?32位机器,数据以4字节为对齐方式
// 如果2个数据所占字节数<4则这2个数据占用一个4个字节,否则,单独占用4个字节
/*
B的字节数为4*3=12字节
|bool|--|--|--|
| int |
|bool|--|--|--|
*/
/*
C的字节数为4*2=8字节
| int |
|bool|bool|--|--|
*/
设置内存对齐为:1字节对齐。使用方法如下: #pragma pack(n) struct s { int i; char ch; }; #pragma pack()