是否有可能找到C联合的最小尺寸

是否有可能找到C联合的最小尺寸,第1张

概述C union(sizeof())的大小是其最大元素的大小. 但是,有什么技巧可以找出可能是最小规模的工会吗? 我的意思是如何实现MACRO的偏移… 如果我理解正确,你想要找到一个联合类型的最小成员的大小而不声明该类型的变量,并且不需要引用该成员的类型.获得成员大小的以下技巧可能会起作用,但有点狡猾的一面: #define membersize(type, member) sizeof(((typ C union(sizeof())的大小是其最大元素的大小.

但是,有什么技巧可以找出可能是最小规模的工会吗?

我的意思是如何实现MACRO的偏移…

解决方法 如果我理解正确,你想要找到一个联合类型的最小成员的大小而不声明该类型的变量,并且不需要引用该成员的类型.获得成员大小的以下技巧可能会起作用,但有点狡猾的一面:

#define membersize(type,member) sizeof(((type *)0)->member)

您必须单独计算每个成员的大小以确定哪个是最小的,因此如果有人向联合添加新成员,您将必须更改确定最小成员大小的代码来解释它.

总结

以上是内存溢出为你收集整理的是否有可能找到C联合的最小尺寸全部内容,希望文章能够帮你解决是否有可能找到C联合的最小尺寸所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1217388.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存