0

我正在浏览 linux 内核源代码并找到了这个函数定义。

function(struct net * const *pnet)

有人可以解释这是什么意思。它是 net* 或 net** 还是 const net* 或 const net**?

谢谢

4

2 回答 2

6

pnet 是指向 const 指向 struct net 的指针(在这种情况下,您只需从右到左从变量名称到类型名称读取,读取*为“指针”)。

于 2013-01-07T00:01:04.077 回答
4

换句话说:一个(非常量)指针,指向一个指向(非常量)结构的常量指针数组。

因此,您可以分配一个不同的数组:

pnet = myArrayOfStructs;

或者你可以改变一个结构:

pnet[k]->proc_inum = 17;

但你不能改变一个完整的结构:

pnet[k] = &pnet[k+1]; // compiler error
于 2013-01-07T00:14:46.057 回答