1、结构体:
struct 结构名
{
数据类型1 成员名1;
数据类型2 成员名2;
.
.
数据类型n 成员名n;
};
程序举例:
#include<iostream.h>
struct animal
{
int weight;
int feet;
};
int main()
{
animal dog1,dog2,chicken;
dog1.weight=15;
dog2.weight=34;
chicken.weight=3;
dog1.feet=4;
dog2.feet=4;
chicken.feet=2;
cout<<"The weight of dog1 is "<<dog1.weight<<endl;
cout<<"The feet of chicken is "<<chicken.feet<<endl;
}
2、联合体
于结构体区别在于共用存储空间,空间只有一个,所有成员共用,随时冲掉。
union 联合名
{
数据类型1 成员名1;
数据类型2 成员名2;
.
.
数据类型n 成员名n;
};
程序举例:
#include<iostream.h>
struct aircraft
{
int wingspan; //飞机共有属性、翼展
int passengers; //共有属性、成员
union
{
float fuel_load; //燃料载重
int pallets; //货物载重
};
}fighter,transport;
int main()
{
fighter.wingspan=40;
fighter.passengers=1;
fighter.pallets=4;
fighter.fuel_load=12000.0;
transport.wingspan=106;
transport.passengers=4;
transport.pallets=42;
transport.fuel_load=18000.0;
cout<<"fighter's carries is "<<fighter.pallets<<endl;
cout<<"fighter's fuel load is "<<fighter.fuel_load<<endl;
cout<<"transport's carries is "<<transport.pallets<<endl;
cout<<"transport's fuel load is "<<transport.fuel_load<<endl;
}
/*输出结果
fighter's carries is 1178304512
fighter's fuel load is 12000
transport's carries is 1183621120
transport's fuel load is 18000
因为fuel把pallets的数值给冲掉了*/