09.结构体 、共同体
约 323 字大约 1 分钟
结构体 ( struct )
结构体是一种用户定义的复合数据类型,用于表示一组相关联的数据项。
struct 结构体名称 {
数据类型1 成员1;
数据类型2 成员2;
// 更多成员...
};
struct Rectangle {
int width;
int height;
};
int main() {
struct Rectangle a;
struct Rectangle b;
a.width = 1;
a.height = 2;
printf("width: %d \n", a.width);
printf("height: %d \n", a.height);
return 0;
}
共用体(union)
共用体是一种特殊的数据类型,它允许在同一个内存位置存储不同类型的数据。共用体的所有成员共享同一块内存空间,因此共用体的大小取决于它的最大成员。
union 共用体名称 {
数据类型1 成员1;
数据类型2 成员2;
// 更多成员...
};
union Rectangle {
int width;
int height;
};
int main() {
union Rectangle a;
union Rectangle b;
a.width = 1;
a.height = 2;
b.width = 3;
b.height = 4;
printf("width: %d \n", a.width);
printf("height: %d \n", a.height);
printf("width: %d \n", b.width);
printf("height: %d \n", b.height);
return 0;
}
区别
1.结构体用于组织不同类型的数据,每个成员都有自己的内存空间,可以同时存储多个数据;
2.共用体用于节省内存空间,所有成员共享同一块内存,只能同时存储一个数据。