C/C++:[3]如何使用struct结构体

作者:如沐春风 | 创建时间: 2023-08-10
我们知道C/C++有 char、int、float、double等基本数据类型,但是假如我们要存储一个人的信息,包含姓名、身高、体重等信息,仅使用一种基本数据类型是无法实现的,因此我们希望有一种数据格式能够将所有这些信息存储在一个单元中,这...
C/C++:[3]如何使用struct结构体

一、结构体声明和使用

按照前面简介中的要求我们可以定义如下的结构体完成对一个人各种信息的描述: 关键字 struct表明这是在定义一个结构体,people是这种数据格式的名称,因此我们可以像使用char、int等创建变量一样 使用people创建people类型的变量了。

定义结构后,就可以创建这种类型的变量了: 等 注意如果是C语言编程应该这样定义 C++允许在声明结构体时省略关键字 struct,而 C不可以。

定义的struct结构体变量可以通过 成员运算符(.)来访问各个成员,如有定义: 则就是结构的Name[20]成员,使用 就可以输出显示XiaoMing

结构声明的位置很重要,这涉及到 变量作用域,可以将声明放在函数中,也可以放到main()的前面,区别在于前者属于 内部声明只能被该函数使用,后者 外部声明可以被其后面的任何函数使用。

二、结构的初始化

结构的初始化可以像上面使用的方式: 和数组一样,使用逗号将各成员值分开,并将所有成员用大括号括起来。

也可以将各成员初始化放在同一行: 同样应该用逗号将各成员分开。

C++11允许如下初始化方式: 即省略等号(=)。

如果大括号内未包含任何内容,如: 则各个成员将被初始化为0,且person4.Name的每个字节都被初始化为0。

三、结构数组

可以创建元素为结构的数组,如: 这样person就是一个people数组,其每一个元素(person[0],person [1]等)都是people对象

结构数组的初始化:

温馨提示

结构中允许成员占用特定位数,称为位字段,位字段通常在在低级编程中使用,一般只用按位运算符代替这种方法!
点击展开全文

更多推荐