首页 > 编程笔记

C语言结构体和联合体的区别

结构体和联合体都是根据实际需要,由用户自己定义的数据类型,可以包含多个不同类型的成员,属于构造数据类型。定义好后,可以和C提供的标准数据类型一样使用。

C语言结构体联合体主要有以下区别:
1) 结构体和联合体都是由多个不同的数据类型成员组成的。

结构体用来描述同一事物的不同属性,所以任意时候结构体的所有成员都存在,对结构体的不同成员赋值是互不影响的。而联合体中虽然也有多个成员,但在任一时刻,对联合体的不同成员赋值,将会对其他成员重写,原来成员的值就不存在了,也就是说在联合体中任一时刻只存放一个被赋值的成员。

2) 实际应用中,结构体类型用得比较多,而联合体的诞生主要是为了节约内存,这一点在如今计算机硬件技术高度发达的时代已经显得不太重要,所以,联合体目前实际上使用得并不多。

优秀文章