C++ 结构体

C++ 结构体

结构是用户定义的类型,结构声明 定义了这种类型的数据属性。

结构体的 声明创建初始化 分开进行
定义一个结构

描述这个结构能够存储的各种数据类型:

struct struct_name {
	char name[23];
	float num;
	int price;
};
关键字 struct表明这是一个 结构体 声明,定义了这样的一个结构体。
struct_name自己定义的这种数据类型的名称,等同于 int , float
char name ... int price结构体成员

注:} 后要加 ;


创建结构体类型变量

声明一个 struct_name 类型的变量 hat

struct_name hat;

注:c++ 在声明结构变量时,允许省略关键字 struct,而 c 语言要:struct struct_name hat;。说明,在 c++ 中,结构声明定义了一种新的类型,这种新类型与基本类型名(如:int)用法相同。


成员运算符 .

使用 成员运算符 . 访问结构体的各个成员,如:

hat.name[1];
hat.num;

hat 是一个 结构,而 hat.num 是一个 float 型变量。

访问类成员的方式由此演化而来,如:cin.getline()


初始化

C++11 同数组一样,支持使用列表初始化结构体:

struct_name hat {"hat name", 0.13, 11};
struct_name nat = {"nat name",
					0.45,
					34
				  };
  1. = 可选,不用必须选择。
  2. 初始化列表可以将数据放在同一行,也可以放在不同行,但均需使用 , 进行分隔。
  3. } 与数据之间不许再放 ,} 之后要有 ;
struct_name cat {};
  1. 如果 {} 中没有任何东西,则每个成员均会被置 0
    cat.name 的每个字节都会被置 0cat.numcat.price 均被置 0

结构体的部分属性
  1. 结构体可以作为参数传递给函数,也可以作为函数的返回值。
  2. 可以使用 赋值运算符 = 将结构赋给另一个 同类型 的结构,即使成员中有数组也可以,这种赋值被称为 成员赋值

结构体的 声明创建初始化 同时进行
声明创建 同时进行
struct pse {
	int num;
	float sen;
}pse_na, pse_nb;

将创建的结构体变量名称放到 } 后,如有多个,则用 , 分隔开,最后一个后加上 ; 即可。

声明创建初始化 同时进行
struct pse {
	int num;
	float sen;
}pen_na = {1, 2,34};
没有名称的结构体类型

没有名称的结构体类型只能再声明的同时创建变量,之后就无法再创建新的这种类型的变量了。

struct {
	int num;
	float sen;
}pen_na;

c++ 结构除了成员变量以外,还可以有成员函数,但他们经常被用在类中,而不是结构体当中。


结构数组
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值