一个简单程序演示container_of的原理
来源:互联网 发布:怎么注册免费的域名 编辑:程序博客网 时间:2024/04/30 15:17
container_of是内核中常用到的一个宏,它的功能是从结构体内成员的地址得到结构体本身的地址。
下面用一个应用程序演示这个功能如何实现的。
#include <stdio.h>
struct temp{
int a;
char b;
double c;
};
struct temp t[3]={
{1,'a',1.1},
{2,'b',2.2},
{3,'c',3.3},
};
/*主程序,从t[1].b的地址,得到t[1]的地址,进而可以访问数组t的所有成员*/
int main()
{
char *pch=&(t[1].b);
struct temp *p;
//下句是关键
p=(struct temp *)(pch-(char *)(&(((struct temp *)0)->b)));
//从p依次输出t[0].b,t[1].a,t[2].c的内容。
printf("%c\n",(p-1)->b);
printf("%d\n",p->a);
printf("%lf\n",(p+1)->c);
return 0;
}
- 一个简单程序演示container_of的原理
- 编写最简单的SQL解析程序(原理演示)
- VB面向对象编程的一个简单的演示程序
- C#事件演示程序1)——一个最简单的C#事件处理程序
- container_of 的的的原理
- container_of与offsetof的原理
- 一个简单的DFS(深度优先搜索)算法加剪枝技术的程序演示
- 一个简单的小程序演示Unity的三种依赖注入方式
- 一个简单的小程序演示Unity的三种依赖注入方式
- 一个简单的小程序演示Unity的三种依赖注入方式
- 一个简单的小程序演示Unity的三种依赖注入方式
- SpringBoot +maven +idea 最简单的一个web程序的演示流程
- URL Protocol Handler 的简单演示程序
- 简单的抓包演示程序
- 一个非常简单完整的聊天室演示程序,推荐初学者下载
- 分享一个简单的资源管理器程序,主要是演示下LINQ在C#开发中的运用
- struts1 一个很简单的登录演示
- 一个简单的webService演示(入门)
- 2012 金华网络赛小记
- 高速前轮爆胎后为何方向出现摇摆
- C++ Virtual详解
- 启动关闭mysql服务命令
- Google Code
- 一个简单程序演示container_of的原理
- 警长逃犯的黑白帽的问题
- 递归法求幂
- 三分法求极值
- Android中DateTimePicker的实现
- 计数排序、桶排序和基数排序
- 戴维南等效电路
- select函数(二)
- socket中read、write、send、recv函数的比较