C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了C中的工会背后有什么意义?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在阅读O’Reilly的实用C编程书,并阅读了关于C编程语言的K& R书籍,而我在理解联盟背后的概念时遇到了麻烦.

它们采用最大数据类型的大小来构建它们……最近分配的数据类型会覆盖其余数据……但为什么不根据需要使用/释放内存?

书中提到它用于通信,你需要设置相同大小的标志;并且在google网站上,它可以消除奇数大小的内存块……但它是否适用于现代的非嵌入式内存空间?

你可以用它和cpu寄存器做些狡猾的东西吗?它只是一个早期编程时代的延续吗?或者它,像臭名昭着的goto,仍然有一些强大的用途(可能在紧张的内存空间),这使得它值得保持?

解决方法

好吧,你几乎回答了你的问题:记忆.
在这些日子里,内存相当低,即使节省几千字节也很有用.

但即便在今天,工会也会有用.例如,如果您想要实现某种变体数据类型.最好的方法是使用联合.

这听起来不是很多,但我们假设你想要使用一个存储4个字符的字符串(如ID)或4个字节的数字(可能是某个哈希值或实际上只是一个数字)的变量.

如果你使用经典结构,这将是8个字节长(至少,如果你不幸,也有填充字节).使用联合它只有4个字节.所以你节省了50%的内存,这对于一个实例来说并不是很多,但想象一下这些实例中有一百万个.

虽然你可以通过强制转换或子类化来实现类似的东西,但仍然是最简单的方法.

大佬总结

以上是大佬教程为你收集整理的C中的工会背后有什么意义?全部内容,希望文章能够帮你解决C中的工会背后有什么意义?所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: