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内核以作报答,在这里先谢谢各位了!