C++之struct结构体使用详解

C/C++有char、int、float、double等基本数据类型,但是假如我们要存储一个人的信息,包含姓名、身高、体重等信息,仅使用一种基本数据类型是无法实现的,因此我们希望有一种数据格式能够将所有这些信息存储在一个单元中,这就需要使用struct结构体完成。

一、结构体声明和使用

(1)按照前面简介中的要求我们可以定义如下的结构体完成对一个人各种信息的描述:

struct people

{

  char Name[20];

  unsigned int Height;

  float Weight;

};

关键字struct表明这是在定义一个结构体,people是这种数据格式的名称,因此我们可以像使用char、int等创建变量一样使用people创建people类型的变量了。

C/C++:[3]如何使用struct结构体 (2)定义结构后,就可以创建这种类型的变量了: people person1; people person2;等。注意:如果是C语言编程应该这样定义 struct people person3;C++允许在声明结构体时省略关键字 struct,而 C不可以。

(3)定义的struct结构体变量可以通过成员运算符(.)来访问各个成员,如有定义:

people person1=

{

  "XiaoMing",

  180,

  62.5

};

person1.Name就是结构的Name[20]成员,使用cout << person1.Name << endl;就可以输出显示XiaoMing

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

二、结构体的初始化

(1)结构体的初始化可以像上面使用的方式:

people person1=

{

  "XiaoMing",

  180,

  62.5

};

(2)和数组一样,使用逗号将各成员值分开,并将所有成员用大括号括起来。也可以将各成员初始化放在同一行:

people person2 = { "XiaoMing", 180, 62.5 };同样应该用逗号将各成员分开。

(3)C++11允许如下初始化方式:people person3 { "XiaoMing", 180, 62.5 };即省略等号(=)。

(4)如果大括号内未包含任何内容,如:people person4 {};则各个成员将被初始化为0,且person4.Name每个字节被初始化为0。

三、结构数组

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

(2)结构数组的初始化:

people person[0]=

{

  "XiaoMing",

  180,

  62.5

};



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值