一、学习目标

  1. 了解C++语言的结构体的使用方法
  2. 了解C++语言结构体的结构的赋值
  3. 了解多种C++语言结构体变量的赋值方法和取值方法

目录

预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:《软件介绍》
想了解编译原理和学习方法点这篇,学习方法和一些原理C++与C都是相同的《脱离学习误区》

《零基础看得懂的C++入门教程 》——(1)第一个C++程序就让你知其所以然
《零基础看得懂的C++入门教程 》——(2)什么是数据类型、变量?一看便会
《零基础看得懂的C++入门教程 》——(3)表达式花样挺多鸭
《零基础看得懂的C++入门教程 》——(4)条件判断原来如此
《零基础看得懂的C++入门教程 》——(5) 容我套个娃 循环
《零基础看得懂的C++入门教程 》——(6)自己动手写个函数
《零基础看得懂的C++入门教程 》——(7)小数组玩起来
《零基础看得懂的C++入门教程 》——(8)搞定二维数组与循环嵌套

推荐

欢迎大家关注公众号,公众号每满1024及1024倍数则会抽奖赠送机械键盘一份+IT书籍2份哟~

二、了解结构体的使用方法

2.1 什么是C++语言结构体
在学习C++语言结构体前我们需要知道C++语言结构体是什么东西,形式是如何的,它的核心的组成思想是什么。

结构体简单的来说是一个数据的类型,跟int整型、char字符型类型一样,都是一种数据类型,在此别纠结它具体是什么,毕竟还没深入学,在此只要知道它也是数据类型即可。结构体是一种数据类型但它与int整型、char字符型数据不同之处是需要我们自己编写它的一个数据结构(这个数据结构是单纯意义上的数据组成)。结构体是有多个或其它数量的数据类型组成的一种结构,其它数量的数据类型可以是整形、字符型等。

由上所述我们可以知道,结构体是一个变量,但是这个变量需要我们自己去编写它的数据构成,这些数据构成是一些数据类型的变量。

我们看一下结构体示例:

struct human{int age;char sex;char name;
} ;

结构体使用struct 进行声明,struct 后接的一对花括号,花括号中编写这个结构体所包含的变量有哪些,并且使用分号表示结构体内变量的结束;在struct之后花括号之前为结构体名,结构体名与变量名类似。

以上的结构体所包含的变量有整形变量age,字符变量sex以及字符变量name,名称为human;结构体我们可以看为是一个类别,该类别的组成元素有哪些。

以上结构体名为human中文译为人类,那么一个人有哪些属性呢?首先有年龄是一个整数数据,所以我在结构体中编写一个整数类型的变量age;人类还有性别,我在human结构体中使用sex表示说明并且也定义了一个char类型的变量name用于存储人类的名称代号。从以上所述可以很清楚的知道当前结构体human的一个组成。

注意:花括号末尾需要分号表示结束。
2.2 结构体的使用
在以上内容中重点强调了结构体是一个类型,那么一个类型的变量如何进行声明创建?例如int类型定义一个变量a为 int a;,那么结构体就可以写成 结构体名 变量;,这样写是错的,必须在结构体名前添加一个 struct关键字,表示接下来我所声明的变量为结构体: struct 结构体名 变量;。代码示例为:

#include<iostream>int main(){struct human{int age;char sex;char name;} ;struct human xiaoming;
}

以上示例中定义了一个名为human的结构体,随后根据这个结构体创建了一个xiaoming的结构体变量。
创建完结构体变量后我们需要对这个结构体变量进行赋值,赋值使用点运算符“.”,可以将这个点当作“的”使用。例如我需要为xiaoming增加一个年龄,那么就可以使用xiaoming后接一个点,表示小明的什么元素要赋值多少,可以写成:

xiaoming.age=10;

同样,其它的元素都可以这样去进行赋值,我们称这些元素为成员变量。其它成员变量的赋值:

xiaoming.sex='T';
xiaoming.name='M';

在此我赋值性别为男,用T表示,小明的名字用M表示。
那赋值完毕后如何进行取值呢?取值的方式很简单,也是使用点运算符:

xiaoming.age

我们赋值完毕后输出内容查看一下是否成功:

#include<iostream>
using namespace std;
int main(){struct human{int age;char sex;char name;} ;struct human xiaoming; xiaoming.age=10;xiaoming.sex='T';xiaoming.name='M';cout<< " age 为:"<<xiaoming.age<<endl;cout<< " age 为:"<<xiaoming.sex<<endl;cout<< " age 为:"<<xiaoming.name<<endl;
}

运行结果如下:

结构体也可以直接在编写的时候直接创建结构体变量:

struct human{int age;char sex;char name;} xiaoming;

以上代码中直接在结构体末尾花括号之后,结束分号前创建了一个结构体变量,整体代码:

#include<iostream>
using namespace std;
int main(){struct human{int age;char sex;char name;} xiaoming;xiaoming.age=10;xiaoming.sex='T';xiaoming.name='M';cout<< " age 为:"<<xiaoming.age<<endl;cout<< " sex为:"<<xiaoming.sex<<endl;cout<< " name为:"<<xiaoming.name<<endl;
}

运行结果均为一致,也可以创建多个结构体变量:

#include<iostream>
using namespace std;
int main(){struct human{int age;char sex;char name;} xiaoming,xiaohong;xiaoming.age=10;xiaoming.sex='T';xiaoming.name='M';xiaohong.age=11;xiaohong.sex='M';xiaohong.name='H';cout<< " age 为:"<<xiaohong.age<<endl;cout<< " age 为:"<<xiaohong.sex<<endl;cout<< " age 为:"<<xiaohong.name<<endl;
}

运行结果为:

也可以在直接创建结构体变量的时候赋值:

struct human{int age;char sex;char name;} xiaoming={10,'T','M'},xiaohong;

赋值在变量名后使用一个等于号,值使用一对花括号,花括号内编写不同的值,并且用逗号进行分隔;也可以同时赋值2个结构体变量:

struct human{int age;char sex;char name;} xiaoming={10,'T','M'},xiaohong={1,'M','H'};

整体代码为:

#include<iostream>
using namespace std;
int main(){struct human{int age;char sex;char name;} xiaoming={10,'T','M'},xiaohong={1,'M','H'};cout<< " age 为:"<<xiaoming.age<<endl;cout<< " sex 为:"<<xiaoming.sex<<endl;cout<< " name 为:"<<xiaoming.name<<endl;cout<< " age 为:"<<xiaohong.age<<endl;cout<< " sex 为:"<<xiaohong.sex<<endl;cout<< " name 为:"<<xiaohong.name<<endl;
}

运行结果为:

三、总结

  1. 了解C++语言的结构体的的结构是一组不同类型数据的组合
  2. 了解C++语言结构体的结构的赋值是使用点运算符对内的成员变量进行赋值
  3. 了解了多种结构体变量的赋值方法和取值方法,赋值可以在新建时赋值也可以在之后赋值,取值使用点运算符进行取值

《零基础看得懂的C++入门教程 》——(9)结构体原来如此相关推荐

  1. 《零基础看得懂的C++入门教程 》——(10)面向对象

    一.学习目标 了解C++类是什么 了解类对象与类型修饰一样进行创建 了解了类的属性如何使用 了解了类方法的使用方法 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可: ...

  2. 《零基础看得懂的C++入门教程 》——(8)搞定二维数组与循环嵌套

    一.学习目标 了解二维数组的使用方法 了解循环嵌套的使用方法 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软件介绍> 想了解编译原理和学习方法点这 ...

  3. 《零基础看得懂的C++入门教程 》——(7)小数组玩起来

    一.学习目标 了解数组的使用方法 了解一维数组的使用方法 了解一维数组与循环的使用方法 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软件介绍> 想 ...

  4. 《零基础看得懂的C++入门教程 》——(6)自己动手写个函数

    一.学习目标 了解C语言的自定义函数的使用方法 了解C语言自定义函数的传参 了解C语言自定义函数的返回值 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软 ...

  5. 《零基础看得懂的C++入门教程 》——(5) 容我套个娃 循环

    一.学习目标 了解循环的使用方法 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软件介绍> 想了解编译原理和学习方法点这篇,学习方法和一些原理C++ ...

  6. 《零基础看得懂的C++入门教程 》——(4)条件判断原来如此

    一.学习目标 了解什么是条件判断 了解多个条件判断 了解输入 了解什么是逻辑与.逻辑或 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软件介绍> 想 ...

  7. 《零基础看得懂的C++入门教程 》——(3)表达式花样挺多鸭

    一.学习目标 了解变量之间的计算 了解什么是表达式 了解什么是自增.自减 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软件介绍> 想了解编译原理和 ...

  8. 《零基础看得懂的C++入门教程 》——(2)什么是数据类型、变量?一看便会

    一.学习目标 了解基本常用的数据类型 了解什么是变量 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软件介绍> 想了解编译原理和学习方法点这篇,学习 ...

  9. 《零基础看得懂的C++入门教程 》——(1)第一个C++程序就让你知其所以然

    一.学习目标 了解第一个C++程序 了解第一个C++程序结构 了解什么是注释 了解什么是命名空间 了解C语言的输出(如何在程序运行时显示内容) 了解语句结束后需要使用什么符号表示结束 了解程序入口 目 ...

最新文章

  1. opencv3异常 库找不到 no such file
  2. 在 Rss Bandit 和 SharpDevelop 之间的权衡
  3. 路由表查找算法概述-哈希/LC-Trie树/256-way-mtrie树
  4. Java 接口interface
  5. Android 开机启动
  6. 恋爱记v1.0源码-在线生成表白页
  7. Maven项目添加FindBugs、PMD插件
  8. 【Flink】Flink 启动报错 DirectoryNotEmptyException Could not close resource
  9. c语言 单词变复数_关于C语言中的Complex(复数类型)和imaginary(虚数类型)
  10. 数据库中的范式 Normal Form(用最简单的语言描述!)
  11. java 栈_Java实现单链表、栈、队列三种数据结构
  12. 设置内核的运行环境之隔离的应用程序
  13. 小米路由器刷梅林教程_小米路由器3刷X-Wrt固件教程
  14. android在副屏中运行一个应用_Android 双屏显示分析
  15. esxi6.7 vSAN 运行状况 控制器固件版本 控制器实用程序问题
  16. nginx配置域名指向ip
  17. .NET在蹉跎中一路前行1
  18. Javascript技巧之对话窗口
  19. 群发邮件如何让收件人互相不知道?群发邮件怎么发很多人
  20. VC6工程转VC9工程常见错误

热门文章

  1. MIPS投RISC-V是龙芯新征程的开始
  2. 推荐一个IT老鸟肝了2月有余的免费开源WPF企业级开发框架
  3. 堪称艺术品级的应用开发框架,Abp有望超越Spring?
  4. 在 MySQL 中使用码农很忙 IP 地址数据库
  5. [工具]微软的学习平台Microsoft Learn很好用,推荐一下
  6. 聊聊高并发下库存加减那些事儿——“异步扣减库存”
  7. 做“是非题”的正确姿势
  8. 在Windows上使用Docker运行.NetCore
  9. ASP.NET Core amp; Docker 实战经验分享
  10. C#使用Xamarin开发可移植移动应用(4.进阶篇MVVM双向绑定和命令绑定)附源码