向高手请教这段代码的意思#define LIST_CONTAINOR(ptr,type,member) \((type *)((char *)(ptr)-(SIZE_T)(&((type *)0)->member)))不是问宏替换 是问这句((type *)((char *)(ptr)-(SIZE_T)(&((type *)0)->member)))的含义
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 18:52:53
x){:a3uvXԙ/|n/h|>YK)iy
>!~!~A%E:%:IE
1 FrFbTWakէdG_N_t].Ryڿ\cx:a6IEDhU8f,Sv6#)KJKBj0Wh
g&A*D!U`U*NN~qAb(V
向高手请教这段代码的意思#define LIST_CONTAINOR(ptr,type,member) \((type *)((char *)(ptr)-(SIZE_T)(&((type *)0)->member)))不是问宏替换 是问这句((type *)((char *)(ptr)-(SIZE_T)(&((type *)0)->member)))的含义
向高手请教这段代码的意思
#define LIST_CONTAINOR(ptr,type,member) \
((type *)((char *)(ptr)-(SIZE_T)(&((type *)0)->member)))
不是问宏替换
是问这句((type *)((char *)(ptr)-(SIZE_T)(&((type *)0)->member)))的含义
向高手请教这段代码的意思#define LIST_CONTAINOR(ptr,type,member) \((type *)((char *)(ptr)-(SIZE_T)(&((type *)0)->member)))不是问宏替换 是问这句((type *)((char *)(ptr)-(SIZE_T)(&((type *)0)->member)))的含义
struct T
{
int a;
int b;
};
T x;
int *p = *x.b;
T *sp = LIST_CONTAINOR(p,T,b);