社区
C语言
帖子详情
union的问题
jiaojiaobao
2011-02-14 02:15:22
我定义了
typedef union
{
struct sockaddr sa;
struct sockaddr_in sin;
struct sockaddr_in6 sin6;
} sockaddr_union;
sockaddr_union *sockaddr;
书上说union的地址和它成员的地址是一样的,为什么我用&(sockaddr),和&(sockaddr->sa)得到的地址不同那?
...全文
100
10
打赏
收藏
union的问题
我定义了 typedef union { struct sockaddr sa; struct sockaddr_in sin; struct sockaddr_in6 sin6; } sockaddr_union; sockaddr_union *sockaddr; 书上说union的地址和它成员的地址是一样的,为什么我用&(sockaddr),和&(sockaddr->sa)得到的地址不同那?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zaiguo
2011-02-14
打赏
举报
回复
[Quote=引用 4 楼 maoloverme1 的回复:]
你应该比较sockaddr和&(sockaddr->sa)的值,而不是比较&(sockaddr),和&(sockaddr->sa)
[/Quote]
支持,不同的东西,比较没有意义!
jiaojiaobao
2011-02-14
打赏
举报
回复
大家 说得都正确
bluesky12312388
2011-02-14
打赏
举报
回复
&(sockaddr),和&(sockaddr->sa)//去掉前面的那个&,地址才一样
&(sockaddr)表示的是 sockaddr指针的地址
jiaojiaobao
2011-02-14
打赏
举报
回复
有道理,我试试,一会给分啊
kideagle
2011-02-14
打赏
举报
回复
[Quote=引用 1 楼 justkk 的回复:]
你这儿sockaddr本身是一个指针了
[/Quote]
是这个道理
qq120848369
2011-02-14
打赏
举报
回复
&(sockaddr)是指针的地址,&(sockaddr->sa)是成员的地址,完全两码事。
sockaddr和& (sockaddr->sa)是同一个地址。
还有,你的指针没有分配内存,建议赋值为0方便观察:sockaddr_union *sockaddr=0;
maoloverme1
2011-02-14
打赏
举报
回复
你应该比较sockaddr和&(sockaddr->sa)的值,而不是比较&(sockaddr),和&(sockaddr->sa)
昵称很不好取
2011-02-14
打赏
举报
回复
[Quote=引用 1 楼 justkk 的回复:]
你这儿sockaddr本身是一个指针了
[/Quote]
up~~
改成普通成员对象试试
xiaoguailong3
2011-02-14
打赏
举报
回复
你这样输出的不是地址吧?输出%p看看
justkk
2011-02-14
打赏
举报
回复
你这儿sockaddr本身是一个指针了
记录使用
union
的一些
问题
文章目录前言一、
union
和
union
all的区别?二、
union
/
union
all 使用order by失败1.拼接两个结果集使用排序失效2.Incorrect usage of
UNION
and ORDER BY总结 前言 最近有使用到把几张数据库结果集拼起来,用到了...
hive的
union
问题
hive不支持顶层
union
,只能将
union
封装在子查询中;且必须为
union
的查询输出定义别名
SQL中
union
问题
UNION
指令的目的是将两个 SQL 语句的结果合并起来。从这个角度来看,
UNION
跟 JOIN 有些许类似,因为这两个指令都可以由多个表格中撷取资料。
UNION
的一个限制是两个 SQL 语句所产生的栏位需要是同样的资料种类。...
sql注入时
union
出错(Illegal mix of collations for operation
UNION
)
当
union
连接information_schema时,就会出现Illegal mix of collations for operation ...以上就是出现
union
问题
的解决方案。 注:
UNION
内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时
UNION
大小
问题
联合体(
union
) 当多个数据需要共享内存或者多个数据每次只取其一时,可以利用联合体(
union
); 1)联合体是一个结构; 2)它的所有成员相对于基地址的偏移量都为0; 3)此结构空间要大到足够容纳最"宽"的成员; 4)其对齐...
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章