是否有可能找到C联合的最小尺寸
发布时间:2020-12-16 10:03:49 所属栏目:百科 来源:网络整理
导读:C union(sizeof())的大小是其最大元素的大小. 但是,有什么技巧可以找出可能是最小规模的工会吗? 我的意思是如何实现MACRO的偏移… 解决方法 如果我理解正确,你想要找到一个联合类型的最小成员的大小而不声明该类型的变量,并且不需要引用该成员的类型.获得成
C union(sizeof())的大小是其最大元素的大小.
但是,有什么技巧可以找出可能是最小规模的工会吗? 我的意思是如何实现MACRO的偏移… 解决方法
如果我理解正确,你想要找到一个联合类型的最小成员的大小而不声明该类型的变量,并且不需要引用该成员的类型.获得成员大小的以下技巧可能会起作用,但有点狡猾的一面:
#define membersize(type,member) sizeof(((type *)0)->member) 您必须单独计算每个成员的大小以确定哪个是最小的,因此如果有人向联合添加新成员,您将必须更改确定最小成员大小的代码来解释它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |