读书人

怎么得到struct的指针?

发布时间: 2012-02-13 17:20:26 作者: rapoo

如何得到struct的指针???
比如定义
struct struct_A{
int m_1;
int m_2;
}

struct struct_A X;
struct struct_A *pX;
int *p = X.m_2;
.......
.......

pX要得到指向结构体X的指针

[解决办法]
如何通过数据成员m_2的地址得到结构体的地址
还是来一个超必杀的答案吧
#define LIST_ENTRY(ptr, type, member) \
((type *) ((char *) (ptr) - (unsigned long) (&((type *) 0)-> member)))

调用如下:
LIST_ENTRY(p, struct A, m_2);

读书人网 >C语言

热点推荐