Menu Close

C语言结构体和共用体的区别及优缺点

下表是结构体和共同体的主要区别

 

结构体优势

  • 结构在同一位置收集有关同一主题的多个数据;
  • 当您要收集类似数据类型和参数(例如名字,姓氏等)的数据时,这将很有帮助;
  • 这很容易维护,因为我们可以使用单个名称表示整个记录;
  • 利用结构体,我们可以用单个参数将完整的记录集传递给任何函数;
  • 您可以使用结构数组来存储更多类似类型的记录。;
  • 结构体支持数组

共用体优势

  • 与结构体相比,它占用的内存更少;
  • 使用union时,只能直接访问最后一个变量;
  • 两个或多个数据成员使用相同的存储位置时,你可以使用共同体;
  • 只能保存一个数据成员的数据;
  • 它分配的空间等于数据最大成员的空间大小。

结构体的缺点

  • 如果IT项目的复杂性超出了限制,则将变得难以管理;
  • 代码中一个数据结构的更改需要在许多其他位置进行更改。 因此,更改变得难以跟踪;
  • 结构体运行速度较慢,因为它需要检查所有数据的存储空间;
  • 您一次可以访问结构中的任何一个成员,而一次只可以访问共同体中的一个成员

共同体的缺点

  • 您一次只能使用一位共同体成员;
  • 所有共同体变量均不能一次初始化或与不同值一起使用;
  • 共同体为其所有成员分配一个公共存储空间。

 

wer

READ  c语言中的%d 和 %zu 有什么区别?
除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Leave the field below empty!

Posted in C语言教程

Related Posts