认识C++结构体

目录

0.前言:

1.结构体简介

 2.结构体声明位置

3.结构体的初始化

4.结构将string类作为成员

5.结构变量赋值

6.创建结构变量的方式

7.结构体中的位字段


0.前言:

  前面我们已经讲过了C++字符串、string类等和数组有关的知识,数组是一种复合类型,本节讲的结构也是复合类型,复合类型是由基本类型组成的

  C++字符串链接

  string类链接

1.结构体简介

  结构体是用来表示复杂对象的一个利器,当我们想要描述一个学生的基本信息的时候,需要学生的名字、性别、年龄、学号等基本信息,凭基本数据类型是描述不出来的,比如:使用int来表示学生年龄,但其它三个该怎么表示。数组是相同类型元素的集合,在这里既有字符型,也有整型,所以数组也表示很无奈,这时,救星出现了。

  在C++中的结构可以满足要求。同一个结构可以存储多种类型的数据,这使得学生信息可以放在一个结构中,用结构类型创建的一个个变量来描述现实中一个个学生的基本信息。

  在这里struct是结构体关键字inflatable是标记成为新类型的名称,这句话怎么理解呢,就是我们自定义创造了一个结构体类型,用inflatable就可以去创建结构体变量

  C++中与C不同的就是,在创建结构体变量的时候,C语言要带上struct,以这个为例用C语言创建A这个变量,C-- struct inflatable A;C++强调的是结构声明定义了一种新类型,所以是可以省略struct的

  在{}的最后需要加上;来表示是一条完整的语句,声明语句也是语句,不要忘记加了。

第一步 结构声明 struct
第二步 创建结构体变量 {}
第三部 访问结构体 .

 2.结构体声明位置

   外部变量,其实用C语言来讲就是全局变量的意思,我们尽量使用局部变量,在C++中认为const修饰的变量是符号常量,这点是和C不同的,C中用const修饰变量,变量具有了常属性,但本质是变量

3.结构体的初始化

   在C++11中,{}列表初始化我们已经见过了单值变量,数组,现在还有个结构体。数组和结构体是本来就可以的。

C++11中{}的初始化
例子: 知识点
int a{2} "="可以省略
int a{} {}编译器会初始化

   整型变量一般就是初始化为0呀,字符就是'\0','\0'的ASCII码值是0,浮点型为0.0。

4.结构将string类作为成员

   可以把string类当做结构成员,和字符数组不同的是,类的操作更多。

5.结构变量赋值

  前面都是偏理论的,终于有个可以看运行窗口的了(cry)。

 一开始choice初始化都是0,如果没有choice=bouquet;这一步,那打印出来都是0啦。

6.创建结构变量的方式

   关于没有名称的结构体我需要再说一下的是,我们无法使用名称,实际上是没有名称来创建变量,就像我想创建一个字符变量,char没有了,可能也许还有其它方法创建,但用char这种方法是没用有的,所以要是使用这种结构体,一定要在声明的结尾创建变量。

   结构数组,需要知道的是guests.是没有意义的,guests是数组,要先用下标找到结构体变量,再用.对结构体 guests[0].name;

7.结构体中的位字段

  看到这里,我觉得写这篇好多都是很熟悉的感觉,因为基本上都和C里的结构体基础知识一样。哈哈,看完几乎都是知识点的博客是不是有点烦琐呢?但能有收获吧!

  还是一样,如果文章内容有错,排版或有可以改进的地方,请留言在评论区告诉博主,第一时间回应并做出调整。

  那么博主在这里求个点赞!!^ ^。

下一篇:共用体、枚举、和指针

猜你喜欢

转载自blog.csdn.net/muwithxi/article/details/129994307