struct 和 union 之间的区别

computer programmingprogrammingmiscellaneous

在这篇文章中,我们将了解结构和联合之间的区别。

struct

  • ‘struct’关键字用于定义结构。

  • 结构中的每个成员都具有唯一的内存位置。

  • 当一个数据成员的值发生变化时,不会影响结构中的其他数据成员。

  • 它有助于一次初始化多个成员。

  • 结构的总大小相当于每个数据成员大小的总和。

  • 它用于存储各种数据类型。

  • 它为结构中存在的每个成员占用内存。

  • 一次可以检索一个成员。

  • 它支持灵活的数组。

以下是结构定义的语法 −

struct [structure tag] {
   member definition;
   member definition;
   ...
   member definition;
} [one or more structure variables];

union

  • ‘union’关键字用于定义联合。

  • 内存位置由其所有数据成员共享。

  • 更改一个数据成员的值也会影响/更改其他数据成员的值。

  • 它允许用户仅初始化联合的第一个成员。

  • 联合的总大小相当于联合中最大数据成员的大小。

  • 它用于存储可用的多种数据类型之一。

  • 它为具有最大大小的成员占用内存。

  • 一次只能访问一个成员。

  • 它不支持灵活数组。

以下是联合定义的语法 −

union [union tag] {
   member definition;
   member definition;
   ...
   member definition;
} [one or more union variables];

相关文章