代码之家  ›  专栏  ›  技术社区  ›  Alistair Evans

获取结构中字段的位置

  •  4
  • Alistair Evans  · 技术社区  · 14 年前

    一个相当简单的问题(我希望如此)。给定C中的一个结构(其布局在编译时已知),是否有方法(通过宏或其他方式)访问结构中命名字段的字节位置?

    #pragma pack(1) 使用。

    干杯

    2 回复  |  直到 14 年前
        1
  •  7
  •   Carl Norum    14 年前

    你在找 offsetof . 应该在里面 stddef.h wikipedia ):

    #define offsetof(st, m) \
        ((size_t) ( (char *)&((st *)(0))->m - (char *)0 ))
    

    对于并集,每个字段的偏移量为 0

        2
  •  3
  •   Steve Jessop    14 年前

    使用 offsetof ,来自 <stddef.h>