判断struct函数中变量所占字节
c语言吧
全部回复
仅看楼主
level 1
2024年04月25日 07点04分 1
level 10
没创结构体哪来的取地址
2024年04月25日 07点04分 0
他在定义的时候创建了一个全局的结构变量s1
2024年04月25日 07点04分
@Clannad 原来是这样,我还以为有typedef
2024年04月25日 07点04分
level 10
看看报错,不同类型的指针变量想减是非法的
2024年04月25日 07点04分 4
你可以强转成void试试?
2024年04月25日 07点04分
@witness- void也不允许这样,想转只能转成char*试试
2024年04月25日 08点04分
@Clannad 对哦,没用过都忘了,谢谢你[真棒]
2024年04月25日 08点04分
@witness- 这种一般用不到[滑稽]
2024年04月25日 08点04分
level 1
那我应该怎么计算变量所占字节呢
2024年04月25日 10点04分 5
强转为char*再减
2024年04月25日 10点04分
@贴吧用户_JQZ24Q1 你想要的是内存对齐后成员间地址的差值,又不是sizeof,变量本身的大小无所谓。char本身只有一个字节,指针相减结果等于地址的差值
2024年04月25日 14点04分
@Lason•᷄ࡇ•᷅ 那样不会改变变量所占字节数吗
2024年04月25日 14点04分
@Kolkas OK感谢
2024年04月25日 15点04分
吧务
level 14
计算结构体成员的长度
sizeof(((struct student*)0)->sex)
计算结构体成员的偏移量
offsetof(struct student, sex)
2024年04月25日 11点04分 6
学到了,谢谢
2024年04月25日 14点04分
1