在rpc.h的GUID結構聲明如下:爲什麼GUID結構是這樣聲明的?
typedef struct _GUID
{
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data[8];
} GUID;
我明白數據1,數據2和數據3。當寫出GUID(XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX)時,它們定義第一,第二和第三組十六進制數字。
我從來不明白的是爲什麼最後2個組在同一個字節數組中被一起聲明。這不是更有意義嗎(並且更容易編碼)?
typedef struct _GUID
{
DWORD Data1;
WORD Data2;
WORD Data3;
WORD Data4;
BYTE Data5[6];
} GUID;
任何人都知道爲什麼這樣聲明?
我會假設它被聲明爲'4,2,2,8'而不是'4,2,2,2,6',這樣最終的8個字節可以作爲64位變量被訪問,如果需要的話。 – 2012-05-03 19:02:01