#include "iostream" #define List_entry(type,member) (type *)((char*)(&member)-(unsigned long)(&(((type*)0)->data)) ) using namespace std; struct list_head{ int data; char* name; }; void main(){ list_head list; cout<<List_entry(struct list_head,list.name)<<endl; cout<<&list<<endl; cout<<&(((struct list_head *)0)->name)<<endl; }