用宏定義FIND求一個結構體裏某個變量相對於sturct的偏移量

如:struct student
{
int a;
char b[20];
double ccc;
}
則:FIND(student,a)//等於0
    FIND(student,b)//等於4


#define FIND(sturct,e) (size_t)&(((struct*)0)->e)


因爲該結構體首地址就是爲0,所以其實就是得到成員e的偏移量

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章