我正在浏览 linux 内核源代码并找到了这个函数定义。
function(struct net * const *pnet)
有人可以解释这是什么意思。它是 net* 或 net** 还是 const net* 或 const net**?
谢谢
我正在浏览 linux 内核源代码并找到了这个函数定义。
function(struct net * const *pnet)
有人可以解释这是什么意思。它是 net* 或 net** 还是 const net* 或 const net**?
谢谢
pnet 是指向 const 指向 struct net 的指针(在这种情况下,您只需从右到左从变量名称到类型名称读取,读取*
为“指针”)。
换句话说:一个(非常量)指针,指向一个指向(非常量)结构的常量指针数组。
因此,您可以分配一个不同的数组:
pnet = myArrayOfStructs;
或者你可以改变一个结构:
pnet[k]->proc_inum = 17;
但你不能改变一个完整的结构:
pnet[k] = &pnet[k+1]; // compiler error