• 1.摘要
  • 2.基本信息
  • 3.offsetof宏的简介
  • 3.1.定义
  • 3.2.功能
  • 4.程序示例

offsetof

基本信息

  • 中文名

  • 外文名

    offsetof

  • 领域

    计算机

  • 性质

    函数类型

offsetof宏的简介

定义

在stddef.h头文件中,该宏的完整说明如下:

#ifdef __cplusplus

#ifdef _WIN64

#define offsetof(s,m) (size_t)( (ptrdiff_t)&reinterpret_cast<const volatile char&>((((s *)0)->m)) )

#else

#define offsetof(s,m) (size_t)&reinterpret_cast<const volatile char&>((((s *)0)->m))

#endif

#else

#ifdef _WIN64

#define offsetof(s,m) (size_t)( (ptrdiff_t)&(((s *)0)->m) )

#else

#define offsetof(s,m) (size_t)&(((s *)0)->m)

#endif

#endif /* __cplusplus */

功能

该宏用于求结构体中一个成员在该结构体中的偏移量。

在msdn上,该宏被写作: