定义了这样的一个结构体:
typedef struct{
UINT cardIndex;
UINT chnlIndex;
char name[10];
UINT chnlType;
}CHNL_DEF;
当把这种结构体中的数据存放到文件中时,发现name[10]占用了12个字节,也就是说chnlType的数据从4+4+12=20个字节开始存储,这是不是C语言的一个特点,有某种数据存储的对齐方式,各位能否给出详细的数据对齐方式说明,谢谢!
typedef struct{
UINT cardIndex;
UINT chnlIndex;
char name[10];
UINT chnlType;
}CHNL_DEF;
当把这种结构体中的数据存放到文件中时,发现name[10]占用了12个字节,也就是说chnlType的数据从4+4+12=20个字节开始存储,这是不是C语言的一个特点,有某种数据存储的对齐方式,各位能否给出详细的数据对齐方式说明,谢谢!
解决方案 »
- VC++如何显示算式中的乘除号,不是'*'和'/'
- 请教:如何获取USB设备的事件句柄?
- 关于windows平台下文件压缩,C++版没有解决,不知这里能否有高人出现,谢谢了,着急ing......
- 双向循环连表的结点释放,为什么会在VC编译的程序中出问题,谢谢
- 哪儿有读取.shp文件的代码?
- 获取ListCtrl的行的行标(高分求教)
- 关于使用ado的stream接口访问本地文件的问题
- 我装了vc以后,经常打开ie窗口就出现"出现运行期错误..."我选是就打开一个窗口,好像是vc,咋回事?
- PreSubclassWindow
- vc中如何访问硬盘的物理或逻辑扇区?
- openGL的glgetstring怎么使用 总返回空
- openGL曲面纹理
#pragma pack(1)
typedef struct{
UINT cardIndex;
UINT chnlIndex;
char name[10];
UINT chnlType;
}CHNL_DEF;
#pragma pack(pop)这样呢?
VC6修改方法是setting->C++->Code generation->struct member alignment
同时要禁用预编译头