C++结构类型
结构声明
C++中的结构是用户定义的类型,结构的声明定义了这种类型的数据属性。
//结构声明语法
struct inflatable
{
char name[20];
float volume;
double price;
};
其中,struct是关键字,inflatable是结构体的标签,name[20],volume,price三个变量是结构体成员,包含在花括号之间,结构体的声明以分号结束。
访问结构成员也是使用成员操作符(.)来访问的,如下所示:
inflatable panda;
inflatable duck;
int price = panda.price + duck.price;
int volume = panda.volume + duck.volume;
访问类成员函数的方式是从访问结构成员变量的方式衍生而来的。
结构声明分为内部声明和外部声明,内部声明只能被本函数使用,而外部声明则可以被其后面的任何函数使用,即可以用在文件的所有函数中。
C++不提倡使用外部变量,但提倡使用外部结构声明。
结构体初始化
inflatable guest = {"glorious", 1.88, 29.99};
其初始化的方式和数组一样,使用由逗号分隔的值列表,并将这些值用花括号括起来。
另外,结构体中也可以包含类对象,如:
struct inflatable
{
std::string name;
float volume;
double price;
};
结构体内部定义了一个字符串对象。
C++使用户定义的类型与内置类型尽可能的相似。即:
- 可以将结构作为参数传递给函数;
- 可以让函数返回一个结构体类型;
- 可以使用赋值操作符(=)将结构赋值给另一个同类型的结构,即使成员是数组也可以。
拓展
- 在声明结构体的时候可以同时完成结构变量的创建,只需要将变量名放在结束括号的后面即可,如下:
struct perks
{
int key_number;
char car[12];
}mr_smith,ms_jones;
但一般建议将结构定义与声明分开;
- C++中结构体除了成员变量之外,还可以有成员函数,但这些高级特性通常被用于类中。
原文地址:https://blog.csdn.net/u013230291/article/details/144094293
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!