结构体(struct)

定义:

结构体是一个数据类型,是由多个不同类型的数据组成的数据集合。关键字为:struct 。

优点:

大大减少程序代码的离散性,使程序代码阅读更加符合逻辑。

语法:

struct 结构体类型名{ 成员类型 成员名 ; .......... 成员类型 成员名 ;};

注:

struct:关键字;

结构体类型名:一种标识符,代表一个新的变量;

成员类型可以为: 常规的基础类型 ,自定义类型,类类型等。

实例:

struct Person{ int index ; char name[20]; short age ; bit gender;}; // 注意这里必须有分号。

区别数组:

数组是相同元素的集合。

结构体变量

结构体是一个构造类型,定义结构体,形成新数据类型,然后使用该数据类型来定义变量,被定义的变量即为结构体变量。

结构体变量声明形式:

  1. 在定义结构体后,使用结构体类型名声明。

例如:

struct Man{ int index ; char name[20] ; int tall ; short age ;};Man minfo ;

2.定义结构体时直接声明。

例如:

struct Man{ int index ; char name[20] ; int tall ; short age ;}minfo1 , minfo2 ;

注:

直接声明结构体变量时,可以声明多个变量。

结构体成员及初始化

引用结构体成员的方式有两种:

1.声明结构体变量后,通过成员运算符“.”引用;

2.声明结构体指针变量,使用指向“->”运算符引用;

1.使用成员运算符“.” 引用结构体成员:

结构体变量名.成员名

例如:

minfo.index //引用strcpy(minfo.name,"剑云锋") //赋值法一minfo.age = 23 ; //赋值法一minfo.tall //引用成员变量

赋值法一:引用成员变量赋值

赋值法二:定义结构体时,直接赋值

struct Man{ int index ; char name[20] ; int tall ; short age ;} minfo = {1 ,“剑云锋”,170 , 23} ;

2.在定义结构体时,可以同时声明结构体指针变量:

结构体指针变量->成员名

例如:

struct Man{ int index ; char name[20] ; int tall ; short age ;} *pMan ; --结构体指针变量pMan->index = 0 ; --变量赋值pMan->name = "剑云锋" ;pMan->tall = 170 ;pMan->age = 23 ;

注意:

指针结构体变量只有初始化后才可以使用。

实例: 使用结构体指针变量引用结构体成员。

#include using namespace std ;void main(){ struct Man{ int index ; char name[20] ; int tall ; short age ;} *pMan ,minfo ={0,"剑云锋

struct类型重定义 不同的基类型_C++构造数据类型相关推荐

  1. struct类型重定义 不同的基类型_C++学习大纲:联合类型

    C++联合类型 联合类型(又称共同体类型),一种能够表示多种数据(类型可以相同可以不同,变量名字不同就行)的数据类型. 1. 联合类型的定义 union {}; 与结构类型类似,只是把struct 换 ...

  2. struct类型重定义 不同的基类型_汇总贴:STEP7的复杂数据类型有哪些?

    复杂数据类型是由基本数据类型通过一定的规则,有机结合在一起,形成的新的.复杂数据类型,STEP7中定义了以下几种复合数据类型: 一.数组ARRAY ARRAY表示由一个相同数据类型的数据组合在一起,形 ...

  3. 重定义 不同的基类型_镍及铁镍基耐蚀合金高温合金哈氏合金镍基合金之第一篇概述...

    纯镍是一种重要的应用于工业的原材料,它除具有良好 的强度.塑韧性外,在卤族元素及其氢化物活泼性气体.苛 性介质.不含氧和氧化剂的还原性酸介质中还具有良好的耐 蚀性,因此纯镍作为耐蚀金属材料得到广泛应用 ...

  4. c语言重定义不同的基类型_简述usb连接器输出类型定义和不同环境下的用法

    "简述usb连接器输出类型定义和不同环境下的用法"由仁昊伟业http://renhotec.cn为您整理,采购连接器,上仁昊伟业. USB连接器是各种电子设备连接需求的实用设备,同 ...

  5. 编译duilib遇到问题:Error C2371 IDispatchEx重定义;不同的基类型

    转自:http://blog.csdn.net/ilyhlf5201314/article/details/17240037 通过SVN从官网下载更新代码,然后用Visual Studio 2010编 ...

  6. VS2010 error C299: “Font”:“struct”类型重定义

    在VS2010里添加了在VC6.0里形成的OFFICE库文件的类 excel9.h,excel9.cpp,就是我在VC6里做操作OFFICE的表格时候添加的库文件,然后把它们( excel9.h,ex ...

  7. error C2011: “Font”:“struct”类型重定义

    error C2011: "Font":"struct"类型重定义 在VS2008里添加在VC6.0里形成的OFFICE库文件的类 excel.h.excel. ...

  8. 类型重定义 头文件预编译设置

    这是一个比较常用的C/C++杂注,只要在头文件的最开始加入这条杂注,就能够保证头文件只被编译一次.在编写头文件的时候,如果没有加上这一句,编译器可能会编译多次这个头文件.VS编译器会报出这个头文件 里 ...

  9. sockaddr类型重定义

    这时说的sockaddr类型重定义错误, 实际上包括一大堆: sockaddr, ;sockaddr_in等等. 这是由于windows.h和winsock2.h包含的顺序而造成的错误: 正确的顺序是 ...

最新文章

  1. Swift3 获取当前连接WIFI名称
  2. 总结JavaScript常用数组操作方法,包含ES6方法
  3. MySQL字符集的一个坑
  4. JavaScript 工作原理(二)-如何在 V8 引擎中书写最优代码的 5 条小技巧(译)
  5. 图神经网络综述:模型与应用
  6. python 皮尔森相关系数
  7. 分享一套阿里高级Java面试题,要去阿里的先过这些题。
  8. 第二学期-第一次作业
  9. vue+element实现树状表格的增删改查;使用el-table树形数据与懒加载实现树状表格增删改查
  10. 收藏 | 程序员必须掌握哪些算法?
  11. java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils
  12. Emacs学习笔记(6):常用命令备忘(打印版)
  13. 事务复制5: Transaction and Command
  14. 搭建自己的GIT服务器
  15. hutool BigExcelWriter 下的autoSizeColumnAll异常问题
  16. 高中单招计算机基础知识题库,2015单招考试计算机基础知识题库
  17. @Primary注解在spring中的使用
  18. 计算机网络第七版第三章课后习题,《计算机网络·自顶向下方法》第七版 第三章 课后习题与问题 答案...
  19. 阿里实习总结(近期)
  20. win10自带Groove音乐不能播放CUE和APE文件的一种曲线救国办法,自己创建aimppack插件包,AIMP安装DSP插件

热门文章

  1. java 大文件 处理_用Java处理大文件
  2. javafx基础教程_JavaFX教程–基础
  3. Spring和Hibernate的自定义审核日志
  4. 纪事日记–可自定义的数据存储
  5. Java并发教程–线程之间的可见性
  6. 使用IntelliJ书签
  7. Java EE 8 –为更多设备提供更多应用程序
  8. 使用Maven实施自定义JSF 2.0组件
  9. 詹金斯的Maven报告
  10. 抛出异常–缓慢而丑陋