offsetof 計算結構中變數位置偏移量

C函數庫中有一函數可計算「結構」中變數在記憶體中位置的偏移量,感覺還不錯用。




typedef struct _ABIT_MAP
{
UCHAR     byType;        
UCHAR     byBitmapFlag;
UCHAR     abyReserved[18];
DWORD     dwFirstCluster;
ULONGLONG ullDataLength;
}ABIT_MAP, *PABIT_MAP;

假設如下結構要求dwFirstCluster的位置。


offsetof(ABIT_MAP, dwFirstCluster)可得偏移量為20,在複雜的結構中甚為好用

沒有留言:

張貼留言