双重指针——以0.12内核static inline void _sleep_on(struct task_struct **p, int state)为例
函数参数p是等待任务队列头指针。指针是含有一个变量地址的变量。这里参数p试用了指针的指针形式'**p',这是因为C函数参数只能传值。没有直接的方式让被调用函数改变调用该函数程序中变量的值。但是指针*p只想的目标会改变,因此为了能修改调用该函数程序中原来就是指针变量的值,就需要传递指针*p的指针,几**p.———赵炯博士0.12内核代码剖析 P305