神级获取结构体中成员偏移量的代码

今天偶然看到一段神级代码,如下:

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

其中,s为结构体类型,m为成员名称。

如:

struct A {
    float a;
    double b;
}

offsetof(A, b);

可以获取到成员的偏移量,受教了。。。

原文地址:https://www.cnblogs.com/waytofall/p/4482587.html