导航

container_of

container_of(ptr,type,member)

我现在用这个函数就没有计算过。

ptr为给出的一个指针。

type为一个结构体类型。

member是结构体的一个成员。

ptr的值是该成员的地址。

container_of的返回值是指向该结构体的指针。

没看懂吧,我自己都不想看第二遍。

 

struct apple {
   struct listnode node;
   int color;     
};

int main()
{
  struct apple apple;  
  struct apple *pApple = &apple;  
  struct apple *pApple2;  
  struct listnode *n = &(apple.node);    

  pApple2 = contain_of(n, struct apple, node);  

  if (pApple == pApple2)
      printf("same\n");

  return 0;
}

没运行,但目的输出是same。

posted on 2021-04-20 14:38  toughcactus  阅读(86)  评论(0编辑  收藏  举报