我无法理解它们之间的区别。当同样的事情由三个人完成时,我们什么时候应该使用数组/结构/union ?
最佳答案
在数组中,所有元素都具有相同的大小和类型,因此您不能将一个元素用作 int
值,将另一个元素用作 double
值,并且等等。
在struct
中,每个元素都可以有不同的大小或类型。您可以将其中一个用作 int
,将其他用作可用于常规变量的任何数据类型,您还可以拥有结构数组。
union 用于将单个变量用于可能的多种数据类型。在union
中,实例的大小等于其最大成员的大小,而在struct
中,实例的大小等于各个成员大小的总和。
此外,如果您使用 struct
,即使对于相同类型的成员,本质上语法也会更加清晰。例如,而不是
float ****point3d;
你可以有
struct point3d_s {
float x, float y, float z;
};
point3d_s *point3d;
将声明一个指向 3 维点的指针,该指针也可以用作数组。
关于c - 数组与 C 编程语言中的结构体和 union 有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40702859/