结构体是一种具有一定数据结构思想的数据类型,我们在对待结构体的时候,用该从数据结构的思想去审视结构体。下面给出结构体的定义

1 struct mystruct
2 {char name[20];
3   int score;
4 double average;
5 };

上述是一段关于结构体类型定义的基本知识,总结两点:

1 struct 是关键字,不是变量类型,变量类型是 struct mystruct

2 注意每个结构体成员后面是分号:";",而不是逗号:“,”。

1 mystruct students{"zhangsan",88,85.42};

上述进行了结构体变量的定义知识,总结两点:

1 students 是结构体变量名,代码中初始化的方式采用了c++11.0的新标准,即可以使用{}初始化,且可以省略“=”

2 结构体成员初始化之间采用逗号,而不是分号,注意区别定义的时候。

在此,描述一个妙用,

上述过程,总结三点:

1   string 类的名称定义在名称空间std里面,因此要想使用,需要采用std的说明,定义名称空间的意义是为了避免使得我们的变量名和别人的变量名冲突。

2  理解string是一个类!!

3  理解结构体的这种可以将类作为一种变量类型的用法

下面研究一下结构体数组:

最终总结:最为重要的一点在于:我们要理解结构体仍然是一种变量类型,只不过我们需要类型名和变量名是什么。结构体变量和int ,char类型都是平权的,因此其他类型具有的操作,比如具有形参,实参,定义数组,函数类型。都可以与struct有关。

下面给出共用体的结构体中的定义:

上图在结构体中定义了一个struct结构体,同时在结构体成员中定义了一个共用体union ,但注意这里没有定义共用体的类型。

在此需要明白:数据类型是可以嵌套的,且共用体的作用是:为共用体内的变量,分配同一个空间,因此共用体的分配空间大小是,共用体成员中所占空间最大的数据类型,比如double。而共用体的本质作用在于,所有类型的变量共用一个存储空间,某一个时刻,只能有一个变量的值被保存,这就是共用体!

转载于:https://www.cnblogs.com/shaonianpi/p/9692058.html

c++入门之初话结构体相关推荐

  1. 结构体怎么赋值_Go 经典入门系列 16:结构体

    点击上方蓝色"Go语言中文网"关注,每天一起学 Go 欢迎来到 Golang 系列教程的第 16 个教程. 什么是结构体? 结构体是用户定义的类型,表示若干个字段(Field)的集 ...

  2. swift菜鸟入门视频教程-09-类和结构体

    本人自己录制的swift菜鸟入门,欢迎大家拍砖,有什么问题能够在这里留言. 主要内容: 类和结构体对照 结构体和枚举是值类型 类是引用类型 类和结构体的选择 集合(collection)类型的赋值与复 ...

  3. 《C语言及程序设计》实践项目——初练结构体

    返回:贺老师课程教学链接 [项目1-复数结构体] 编写一个程序,首先定义一个复数数据类型,即结构类型.然后按照复数的运算规则进行计算,并按照复数表示的格式进行输出,请将程序补充完整. #include ...

  4. C语言入门系列之10.结构体和共用体

    文章目录 一.结构体变量的基本使用 1.概述 2.定义结构体类型变量的方法 3.结构体变量的引用 4.结构体变量的初始化 二.结构体的高级应用 1.结构体数组 Ⅰ定义结构体数组 Ⅱ结构体数组的初始化 ...

  5. c语言2个字符串可以相互赋值吗,c语言结构体2之变量赋值于字符串

    #include #include struct dangdang { char email[]; char name[]; char addr[]; int num; int bugnum; cha ...

  6. C语言——结构体(初阶版)

    1.定义和使用结构体变量 结构体的基础知识 结构是一些值的集合,这些值称为成员变量.结构的每个成员可以是不同类型的变量. 自己建立结构体类型 结构的成员可以是标量.数组.指针,甚至是其他结构体. st ...

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

    一.学习目标 了解C语言的结构体的使用方法 了解C语言结构体的结构的赋值 了解多种C语言结构体变量的赋值方法和取值方法 目录 <零基础看得懂的C语言入门教程>--(二)简单带你了解流程 & ...

  8. 【黑马程序员 C++教程从0到1入门编程】【笔记1】数据类型、运算符、程序流程结构、数组、函数、指针、结构体

    黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难 文章目录 1.C++初识 1.1 第一个c++程序 1.2 注释 1.3 变量 1.4 常量 1.5 关键字 1.6 标识符命名规则 2 ...

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

    一.学习目标 了解C++语言的结构体的使用方法 了解C++语言结构体的结构的赋值 了解多种C++语言结构体变量的赋值方法和取值方法 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的 ...

最新文章

  1. 人名翻译_考研英语翻译:句子中出现人名怎么办?
  2. (七十九)MapKit的基本使用
  3. Oracle去除表中重复记录
  4. linux 循环每个月,SHELL脚本每月最后一天判断
  5. logo是啥_乐夏2开播,33支乐队的Logo设计,凭啥一个塑料袋最火?
  6. 深入C++面试题总结
  7. vscode web版搭建_VS Code 1.39 发布!Web 版 VS Code 是否离我们越来越近了?(文末彩蛋)...
  8. td onmouseover=this.style.cursor='hand' onmouseout=this.style.cursor='normal' 小手状
  9. csdn积分有什么用
  10. ArcGIS知乎干货教程大集合
  11. windows版本变迁
  12. paypal支付(Java)
  13. msgbox在matlab中,Matlab load global 变量 length( ) 函数 msgbox( )函数
  14. STM32CubeMX+Proteus仿真DS18B20
  15. 【转】计算机分类经典书籍推荐
  16. gpu浮点计算能力floaps_关于CPU的浮点运算能力计算
  17. 刷脸支付在新零售行业线上线下加速融合
  18. 日常工作笔记0807
  19. php水果百科动态网站毕业设计源码060917
  20. android (拼图游戏)数字推盘的简单实现

热门文章

  1. Delphi XE2 之 FireMonkey 入门(35) - 控件基础: TFmxObject: 其它
  2. 【源码分享】用Java写的网页图片、CSS、JavaScript分类下载器
  3. 基于Web日志挖掘的个性化推荐系统(附源码)
  4. springdatajpa命名规则_简单了解下spring data jpa
  5. python官网支持货到付款吗_官网购买的iPhone12pro还没发货?试着用Python快速入手...
  6. 5.Ubuntu下的GIF录制软件peek安装
  7. C++知识点34——动态内存与智能指针
  8. 动态显示时采色改为单帧采色
  9. 苹果笔记本电脑 javaee安装_苹果下周举行发布会 重磅推出新款MacBook Air和MacBook Pro...
  10. solidworks经典实例网盘下载_Solidworks自学视频教程(附源文件)讲解详细到位,成就设计高手...