我自己定义了一个typedef struct,如下:
typedef struct test
{
char test1[21];
char test2[21];
unsigned char test3;
unsigned char test4;
unsigned char test5;
unsigned long test6;
char test7[148];
}TEST;
在程序中使用下面语句:
struct sgip_deliver *sg = new(SGIP_DELIVER);
int i;
i = sizeof(*sg);
结果 i = 200;
请问是什么原因啊
测试了很长时间了,老是比定义的多出3个字节
typedef struct test
{
char test1[21];
char test2[21];
unsigned char test3;
unsigned char test4;
unsigned char test5;
unsigned long test6;
char test7[148];
}TEST;
在程序中使用下面语句:
struct sgip_deliver *sg = new(SGIP_DELIVER);
int i;
i = sizeof(*sg);
结果 i = 200;
请问是什么原因啊
测试了很长时间了,老是比定义的多出3个字节
解决方案 »
- 高分问个VC6的安装问题(非常非常急!)
- 大家来看:关于VC生成可执行文件名称的控制问题。
- 请教一个关于SelectObject函数的问题
- 高手请进,如何在一个SDI工程中包含多个View,并且实现各个View之间的切换?
- 为什么我用send发送字符串会出错
- (提供源码者可得300高份)高份求助(谁用vc做过五笔输入法)
- 对CaptainIII(山上人)大哥和 zx_sanjin(1.5kg) 大哥在代码上对我的帮助。每人加90分,其他的散了。
- 在一个View的OnPaint()函数中,关于调用其他自定义函数的问题
- 请问一个简单的问题,如何改变button按钮的背景色?
- ADO的小问题
- 对话框的问题
- 使用哪个文件I/O处理的函数库?
{
char test1[21];
char test2[21];
unsigned char test3;
unsigned char test4;
unsigned char test5;
unsigned long test6;
char test7[148];
}TEST;
可能要求4字节对齐吧。你前面一共定义了21+21+3个char型,共45字节。要求4字节对齐的话,必须占用48个字节才行。因此需要浪费3个字节。
project->setting->c/c++category:code generationstruct member alignment:1 bytes