标题: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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-348494-1-1.html




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

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