Chinaunix首页 | 论坛 | 博客
  • 博客访问: 195430
  • 博文数量: 44
  • 博客积分: 1515
  • 博客等级: 上尉
  • 技术积分: 480
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-06 16:39
文章分类

全部博文(44)

文章存档

2013年(3)

2012年(2)

2011年(2)

2009年(20)

2008年(17)

我的朋友

分类: LINUX

2011-05-17 15:26:00

                           关于container_of的使用
linux kernel中 container_of 宏
由某个field的地址取得整个结构体的地址,但一定要注意是field的地址。但若field为指针时,一定要注意。
比如
 struct test {
int a;
int b;
int *p;
};



struct test t1;
struct test *t2;
int **p = &t1.p;
int *q = t1.p;

t2 = container_of(p, struct test, p);  
//正确, t2 = &t1

t2 = container_of(&q, struct test, p);
//错误, t2 != &t1, t2 == ?


阅读(446) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~