"struct tcp_sock *tp = tcp_sk(sk);" 这个语句谁能帮我解释一下嘛?谢谢。
时间:2010-03-25
来源:互联网
1、struct sock *sk
2、struct tcp_sock *tp = tcp_sk(sk);
3、
static inline struct tcp_sock *tcp_sk(const struct sock *sk)
{
return (struct tcp_sock *)sk;
}
感觉很难理解啊,sock 和 tcp_sock 类型是不一样的,为什么要这样进行强制转换呢? 这样做取出来的数据不就乱了嘛? 这样做有什么意义吗?
2、struct tcp_sock *tp = tcp_sk(sk);
3、
static inline struct tcp_sock *tcp_sk(const struct sock *sk)
{
return (struct tcp_sock *)sk;
}
感觉很难理解啊,sock 和 tcp_sock 类型是不一样的,为什么要这样进行强制转换呢? 这样做取出来的数据不就乱了嘛? 这样做有什么意义吗?
作者: ns2linux 发布时间: 2010-03-25
返回的都是一个int的数值,同一块的内存地址,只是告诉了调用者这块内存的类型是tcp_sock的类型而已,既然能转换就有意义。
作者: hefe 发布时间: 2010-03-25
你可以理解成把sk构造成 tcp_sk
作者: easycat 发布时间: 2010-04-06
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28