问一个计算结构体大小的有关问题
问一个计算结构体大小的问题
typedef struct tagMBLIMAGEHEADER
{
DWORD FileSize;
DWORD SrcSizeInPixel;
long SrcWidthInPixel;
long SrcHeightInPixel;
ImgRect ImgArea; //这也是结构体,定义见上面
WORD MidTierNum;
WORD BitCount;
WORD RgbTableSize;
TierHeaStruList TierHeaList; //CList链表定义见上面
}MBLIMAGEHEADER;
以下是ImgRect和TierHeaStruList的定义:
typedef struct tagImgRect{
POINT LefDowCoordinate;
POINT RigTopCoordinate;
}ImgRect;
typedef struct tagTierHeadStru{
DWORD TierOffset;
DWORD Resolution;
}TierHeaStru;
typedef CList <TierHeaStru, TierHeaStru&> TierHeaStruList;
------解决方案--------------------
sizeof(MBLIMAGEHEADER)?
------解决方案--------------------
sizeof(MBLIMAGEHEADER)+sizeof(TierHeaStru)*TierHeaStruList.GetCount()- sizeof(TierHeaStruList)
------解决方案--------------------
typedef struct tagMBLIMAGEHEADER
{
DWORD FileSize;
DWORD SrcSizeInPixel;
long SrcWidthInPixel;
long SrcHeightInPixel;
ImgRect ImgArea; //这也是结构体,定义见上面
WORD MidTierNum;
WORD BitCount;
WORD RgbTableSize;
TierHeaStruList TierHeaList; //CList链表定义见上面
}MBLIMAGEHEADER;
以下是ImgRect和TierHeaStruList的定义:
typedef struct tagImgRect{
POINT LefDowCoordinate;
POINT RigTopCoordinate;
}ImgRect;
typedef struct tagTierHeadStru{
DWORD TierOffset;
DWORD Resolution;
}TierHeaStru;
typedef CList <TierHeaStru, TierHeaStru&> TierHeaStruList;
----------------------------------------
sizeof是编译的时候确定大小,与CList中容纳了多少个节点数量无关。
sizeof( MBLIMAGEHEADER ) 我不明白你这样的sizeof究竟能用来干什么?
要copymemory复制数据吗?
typedef struct tagMBLIMAGEHEADER
{
DWORD FileSize;
DWORD SrcSizeInPixel;
long SrcWidthInPixel;
long SrcHeightInPixel;
ImgRect ImgArea; //这也是结构体,定义见上面
WORD MidTierNum;
WORD BitCount;
WORD RgbTableSize;
TierHeaStruList TierHeaList; //CList链表定义见上面
}MBLIMAGEHEADER;
以下是ImgRect和TierHeaStruList的定义:
typedef struct tagImgRect{
POINT LefDowCoordinate;
POINT RigTopCoordinate;
}ImgRect;
typedef struct tagTierHeadStru{
DWORD TierOffset;
DWORD Resolution;
}TierHeaStru;
typedef CList <TierHeaStru, TierHeaStru&> TierHeaStruList;
------解决方案--------------------
sizeof(MBLIMAGEHEADER)?
------解决方案--------------------
sizeof(MBLIMAGEHEADER)+sizeof(TierHeaStru)*TierHeaStruList.GetCount()- sizeof(TierHeaStruList)
------解决方案--------------------
typedef struct tagMBLIMAGEHEADER
{
DWORD FileSize;
DWORD SrcSizeInPixel;
long SrcWidthInPixel;
long SrcHeightInPixel;
ImgRect ImgArea; //这也是结构体,定义见上面
WORD MidTierNum;
WORD BitCount;
WORD RgbTableSize;
TierHeaStruList TierHeaList; //CList链表定义见上面
}MBLIMAGEHEADER;
以下是ImgRect和TierHeaStruList的定义:
typedef struct tagImgRect{
POINT LefDowCoordinate;
POINT RigTopCoordinate;
}ImgRect;
typedef struct tagTierHeadStru{
DWORD TierOffset;
DWORD Resolution;
}TierHeaStru;
typedef CList <TierHeaStru, TierHeaStru&> TierHeaStruList;
----------------------------------------
sizeof是编译的时候确定大小,与CList中容纳了多少个节点数量无关。
sizeof( MBLIMAGEHEADER ) 我不明白你这样的sizeof究竟能用来干什么?
要copymemory复制数据吗?