函數返回值 return 的指針是什么 內聯函數嗎?
2 回答

喵喵時光機
TA貢獻1846條經驗 獲得超7個贊
查看內核里面netlink_kernel_create函數的定義include/linux/netlink.h
extern struct sock *netlink_kernel_create(struct net *net,
int unit,unsigned int groups,
void (*input)(struct sk_buff *skb),
struct mutex *cb_mutex,
struct module *module);
該返回值是一個struct sock的結構體指針,在上面的函數中,將sock結構體指針強制轉化為void的無類型指針,就是說它只表示這個結構體的起始地址。
如果要在代碼里使用該void型指針,需要再對其進行強制轉換成其他結構體指針類型,才能通過結構體成員進行值訪問和修改,其實這個轉化為其他結構體指針的過程,只是為了計算起始地址后面的偏移方便而已
- 2 回答
- 0 關注
- 95 瀏覽
添加回答
舉報
0/150
提交
取消