struct和union的区别
时间: 2023-09-05 20:14:57 浏览: 104
struct和union有以下几个区别:
- struct的所有成员都存在,各成员占有自己的内存空间,并且一个struct变量的总长度等于所有成员长度之和,遵从字节对齐原则。而union中只存放了一个被选中的成员,所有成员不能同时占用内存空间,union变量的长度等于最长的成员的长度。
- union是用来共享内存的,多个不同类型的变量可以共占一段内存,并相互覆盖。而struct不具备共享内存的特性。
- 对于union的不同成员赋值,将会对其它成员重写,原来成员的值就不存在了。所以,共同体变量中起作用的成员是最后一次存放的成员。而对于struct的不同成员赋值是互不影响的。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [struct和union的区别](https://blog.csdn.net/weixin_52273949/article/details/130095755)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文