| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 469 人关注过本帖
标题:linux内核中的指针问题
取消只看楼主 加入收藏
jefffyang
Rank: 1
等 级:新手上路
帖 子:10
专家分:7
注 册:2011-2-10
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
linux内核中的指针问题
array是一个指针数组,系统中每个CPU对应于其中一个元素,每个元素为一个指向array_cache数据结构的指针
在每个array_cache数据结构之后均存放了一个指针数组,元素个数为 n ,现在为了获取这个指针数组中的最后一个元素

关键的代码如下 :
                  void *objp;
                  ac = array[smp_processor_id()];
                  objp = ((void **)(ac+1))[n-1];

我想知道为什么要用两个 * ,我觉得用一个就够了,因为ac+1就已经获得了指向array_cache数据结构之后这个指针数组的地址,
这个时候,用一次 * 就可以获得这个指针数组了,然后再用下标操作就可以得到最后一个元素
  如果哪位高手肯不吝赐教,小弟不胜感激,必将发奋图强,继续钻研linux内核以作报答,在这里先谢谢各位了!
搜索更多相关主题的帖子: linux 元素 
2011-08-26 18:21
jefffyang
Rank: 1
等 级:新手上路
帖 子:10
专家分:7
注 册:2011-2-10
收藏
得分:0 
回复 2楼 luyi_footman
2楼的解释很精辟,在这里表示真心的感谢
2011-08-27 10:31
快速回复:linux内核中的指针问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015869 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved