问一个计算结构体大小的有关问题

问一个计算结构体大小的问题


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复制数据吗?