我得到了以下結構:對結構錯誤類型爲int
struct Packet
{
short PacketSize;
short Type;
};
struct SizeValidity
{
short SizeEnc;
};
struct SendEncSecureCode
{
Packet header;
short EncSecurityToken;
int lTime;
SizeValidity ending;
};
而且在我的代碼,我想用sizeof操作符這樣得到結構的大小:
SendEncSecureCode sendpacket;
sendpacket.header.PacketSize = sizeof SendEncSecureCode;
問題是我總是得到大小爲0x10而不是0x0C,因此我將INT類型更改爲DWORD,並且仍然是同樣的問題,後來我嘗試使用DWORD32並且仍然是相同的,編譯器將它設置爲8字節。我正在開發VC11 Beta,並且軟件的目標是x86而不是x64。謝謝
'的sizeof SendEncSecureCode'需要大約'SendEncSecureCode'括號,因爲它的一種。如果這是編譯,我建議改變它。 – chris 2012-07-26 04:49:17
方括號結構名稱周圍給我錯誤,這不是一個變量... – ffenix 2012-07-26 04:51:35
可能重複[結構填充和結構打包](http://stackoverflow.com/questions/4306186/structure-padding-and-structure-packing ) – 2012-07-26 04:52:03