34-C++-结构简介

4.4结构简介假设要存储有关篮球运动员的信息,则可能需要存储他(她)的姓名、工资、身高、体重、平均得分、命中率、助攻次数等。希望有一种数据格式可以将所有这些信息存储在一个单元中。数组不能完成这项任务,因为虽然数组可以存储多个元素,但所有元素的类型必须相同。也就是说,一个数组可以存储20个int,另一个数组可以存储10个float,但同一个数组不能在一些元素中存储int,在另一些元素中存储float...
摘要由CSDN通过智能技术生成

4.4结构简介

假设要存储有关篮球运动员的信息,则可能需要存储他(她)的姓名、工资、身高、体重、平均得分、命中率、助攻次数等。希望有一种数据格式可以将所有这些信息存储在一个单元中。数组不能完成这项任务,因为虽然数组可以存储多个元素,但所有元素的类型必须相同。也就是说,一个数组可以存储20int,另一个数组可以存储10float,但同一个数组不能在一些元素中存储int,在另一些元素中存储float

C++中的结构可以满足需求(存储篮球运动员的信息)。结构是一种比数组更灵活的数据格式,因为同一个结构可以存储多种类型的数据,这使得能够将有关篮球运动员的信息放在一个结构中,从而将数据的表示合并到一起。如果要跟踪整个球队,则可以使用结构数组。结构也是C++OOP堡垒(类)的基石。学习有关结构的只是将使我们离C++的核心OOP更近。

结构是用户定义的类型,而结构声明定义了这种类型的数据属性,定义了类型后,便可以创建这种类型的变量。因此创建结构包括两部。首先,定义结构描述——它描述并标记了能够存储在结构中的各种数据类型。然后按描述创建结构变量(结构数据对象)。

假如,假设Bloataire公司要创建一中类型来描述其生产线上充气产品的成员。具体的说,这种类型应存储产品名称、容量(单位为立方英尺)和售价。下面的结构描述能满足这些需求:

struct inflatable

{

char name[20];

float volume;

double price;

};

关键字struct声明。这些代码定义的是一个结构的布局。标识符inflatable是这种数据格式的明长城,因此新类型的名称为inflatable。这样,便可以像创建charint类型的变量那样创建inflatable类型的变量了。接下来的大括号中包含的是结构存储的数据类型的列表,其中每个列表项都是一条声明语句。这个例子使用了一个适用于存储字符串中的char数组、一个float和一个double。列表中的每一项都被称为结构成员,因此inflatable结构有3个成员。总之,结构定义指出了新类型的特征。

定义结构后,便可以创建这种类型的变量了:

inflatable hat;

inflatable woopie_cushion;

inflatable mainframe;

如果您首席C语言中的结构,则可能已经注意到了,C++允许在声明结构变量时省略关键字struct

C++中,结构标记的用法与基本类型名相同。这种变化强调的是,结构声明定义了一种新类型。在C++中,省略struct不会出错。

由于hat的类型为inflatable,因此可以使用成员运算符(.)来访问各个成员,hat.volume指的是结构的volume成员,hat.price指的是price成员。同样,vincent.pricevincent变量的price成员。总之,通过成员名能够访问结构的成员,就像通过索引能够访问数组的元素一样。由于price成员被声明为double类型,因此hat.price

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值