C++struct结构体用法

本文详细介绍了C++中的结构体,包括如何声明和定义结构体,结构体变量的创建,成员访问,C++11的列表初始化,以及结构体在函数中的使用和赋值操作。此外,还讨论了结构体的匿名结构和结构体类型的零初始化特性。
摘要由CSDN通过智能技术生成

结构体

创建结构包括两步。 首先,定义结构描述—它描述并标记了能够存储在结构中的各种数据类型。然后按描述创建结构变量(结构数据对象)。

struct employee { // 结构体声明
	char name[20];  // 成员变量
	int age;
	float salary;
};

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

// 在c++中使用结构体时,可以省略struct关键字
employee jack; // 可以省略struct,但是在c语言中不可以

使用成员运算符(.)来访问 各个成员。例如,employee.name指的是结构的name成员

结构体在代码中的使用

#include <iostream>
using namespace std;

struct employee {
	char name[20];
	int age;
	float salary;
};

int main() {
	employee bob = {
		"bob",
		20,
		10000.8
	};
	cout << bob.name << " " << bob.age << endl;
	return 0;
}

可以 将声明放在main( )函数中,紧跟在开始括号的后面。另一种选择是将声 明放到main( )的前面。

C++11结构初始化

与数组一样,C++11也支持将列表初始化用于结构,且等号(=)是可选的:

employee bob {
	"bob",
	20,
	200
};

其次,如果大括号内未包含任何东西,各个成员都将被设置为零。
最后,不允许缩窄转换。

其他结构属性

C++使用户定义的类型与内置类型尽可能相似。例如,可以将结构 作为参数传递给函数,也可以让函数返回一个结构。另外,还可以使用 赋值运算符(=)将结构赋给另一个同类型的结构,这样结构中每个成 员都将被设置为另一个结构中相应成员的值,即使成员是数组。

可以同时完成定义结构和创建结构变量的工作。为此,只需将变量
名放在结束括号的后面即可:

struct employee {
	char name[20];
	int age;
} bob;

还可以声明没有名称的结构类型,方法是省略名称,同时定义一种
结构类型和一个这种类型的变量:

struct {
	char name[20];
	int age;
} bob;

但这种类型没有名称,因此以后无法创 建这种类型的变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值