一、学习目标

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

目录

《零基础看得懂的C语言入门教程》——(二)简单带你了解流程

《零基础看得懂的C语言入门教程》——(三)轻松悟第一个程序

《零基础看得懂的C语言入门教程》——(四)基本数据类型变量

《零基础看得懂的C语言入门教程》——(五)变量、常量及运算

《零基础看得懂的C语言入门教程》——(六)轻松了解逻辑运算

《零基础看得懂的C语言入门教程》——(七)循环分分钟上手

《零基础看得懂的C语言入门教程》——(八)基本数组真简单

《零基础看得懂的C语言入门教程》——(九)数组与循环嵌套

《零基础看得懂的C语言入门教程》——(十)指针原来是这样

《零基础看得懂的C语言入门教程》—(十一)自定义函数很简单

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

C语言没有一些其它高级语言中的面向对象概念,如果你是新手的话知道这个专业术语即可,在之后的不断深入学习中早晚会遇见;为什么我把C语言的结构体与面向对象做一个比较?因为他们之间有一定的相似度,这是一个很重要的概念。

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 结构体名 变量;。代码示例为:

#includevoid 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

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

#includevoid main(){struct human{    int age;    char sex;    char name;} ;struct human xiaoming; xiaoming.age=10;xiaoming.sex='T';xiaoming.name='M';printf(" age 为:%d",xiaoming.age);printf(" sex 为:%d",xiaoming.sex);printf(" name 为:%d",xiaoming.name);}

运行结果如下:

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

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

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

#includevoid main(){struct human{    int age;    char sex;    char name;} xiaoming;xiaoming.age=10;xiaoming.sex='T';xiaoming.name='M';printf(" age 为:%d",xiaoming.age);printf(" sex 为:%d",xiaoming.sex);printf(" name 为:%d",xiaoming.name);}

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

#includevoid 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';printf("xiaohong age 为:%d",xiaoming.age);printf("xiaohong sex 为:%d",xiaoming.sex);printf("xiaohong name 为:%d",xiaoming.name);}

运行结果为:

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

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'};

整体代码为:

#includevoid main(){struct human{    int age;    char sex;    char name;} xiaoming={10,'T','M'},xiaohong={1,'M','H'};printf("xiaoming age 为:%d",xiaoming.age);printf("xiaoming sex 为:%d",xiaoming.sex);printf("xiaoming name 为:%d",xiaoming.name);printf("xiaohong age 为:%d",xiaohong.age);printf("xiaohong sex 为:%d",xiaohong.sex);printf("xiaohong name 为:%d",xiaohong.name);}

运行结果为:

三、总结

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

c++ 结构体赋值_《零基础看得懂的C语言入门教程》—(十二)结构体是这么回事相关推荐

  1. 《零基础看得懂的C语言入门教程 》——(十二)原来结构体是这么回事

    一.学习目标 了解C语言的结构体的使用方法 了解C语言结构体的结构的赋值 了解多种C语言结构体变量的赋值方法和取值方法 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. 第一篇:(一 ...

  2. 《零基础看得懂的C语言入门教程 》——(一)脱离学习误区

    本节视频连接: https://www.bilibili.com/video/BV1Qv411t7ae 新手C语言学习有些误区你应该知道,这样学习起来事半功倍~ 一.前言 距离上一次编写C语言的教程是 ...

  3. 《零基础看得懂的C语言入门教程 》——(十三)socket服务端编写

    一.学习目标 了解C语言的socket的概念 了解C语言socket的使用方法 完成C语言socket服务端 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. 第一篇:(一)脱离学习 ...

  4. 《零基础看得懂的C语言入门教程 》——(十一)C语言自定义函数真的很简单

    一.学习目标 了解C语言的自定义函数的使用方法 了解C语言自定义函数的传参 了解C语言自定义函数的返回值 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. 第一篇:(一)脱离学习误区 ...

  5. 《零基础看得懂的C语言入门教程 》——(十)C语言的指针原来是这样

    一.学习目标 了解指针的概念 了解指针的使用方法 了解双重指针 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. 第一篇:(一)脱离学习误区 第二篇:(二)C语言没那么难简单开发带你 ...

  6. 《零基础看得懂的C语言入门教程 》——(八)了解基本数组还不是那么简单

    一.学习目标 了解数组的使用方法 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. 第一篇:(一)脱离学习误区 第二篇:(二)C语言没那么难简单开发带你了解流程 第三篇:(三)轻轻松 ...

  7. 《零基础看得懂的C语言入门教程 》——(七)C语言的循环分分钟上手

    一.学习目标 了解循环的使用方法 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. 第一篇:(一)脱离学习误区 第二篇:(二)C语言没那么难简单开发带你了解流程 第三篇:(三)轻轻松 ...

  8. 《零基础看得懂的C语言入门教程 》——(六)轻轻松松了解C语言的逻辑运算

    一.学习目标 了解逻辑判断的概念 了解if语句的使用方法 了解switch语句的使用方法 了解逻辑运算符的使用方法 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. 第一篇:(一)脱 ...

  9. 《零基础看得懂的C语言入门教程 》——(五)C语言的变量、常量及运算

    一.学习目标 了解C语言变量的其它创建方式 了解C语言常量 了解C语言的运算符 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. 第一篇:(一)脱离学习误区 第二篇:(二)C语言没那 ...

最新文章

  1. 如何用Git拉取远程分支代码
  2. linux下tomcat6无法显示图片验证码 少了图形插件
  3. MFC中动态创建控件以及事件响应实现方法
  4. AlphaGo:人工智能与深度学习
  5. 工作中让你提建议怎么办?
  6. Java的简单了解。
  7. 织梦tag标签按照设定的栏目id获取相应的内容或自动获取相应栏目tag
  8. 杭电1713相遇周期
  9. es5.4.0-CentOS-6.5-x86_64安装文档
  10. bzoj1833: [ZJOI2010]count 数字计数(数位dp)
  11. 打印机测试图_国产彩色激光机一样很靠谱 奔图全新彩色激光机到底怎么样?...
  12. 在线教育:最常见的直播课程有哪些?
  13. 《Linux内核修炼之道》——第1章 初识Linux 1.1 Linux史记
  14. 统信UOS_arm64开发环境配置
  15. Parallels Desktop启动后黑屏无法进入Windows系统
  16. 智能化推送服务MobPush产品简介
  17. 数据库学习 (一):数据库系统概述
  18. Java性能优化怎么做好
  19. 蓝桥杯 Sine之舞
  20. 计算机基础(18)——为什么每次下载东西到一半都会失败?

热门文章

  1. 没有找到mysql。sock_linux系统安装mysql数据库
  2. 目标板挂载NFS方法及错误解决
  3. 反弹模型(bounce model)----adot, H, Hdot变化图
  4. pywebio 之词云图
  5. 云上人最终产品简易代码
  6. openface 和openpose(pytorch)剪枝之路
  7. vue 加载体验优化
  8. HashMap.values().addAll()异常
  9. vsftp安装与配置(通过虚拟用户登录)
  10. SecureCRT自动登录