ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

A08-C++结构体的定义以及使用

2021-07-31 15:05:53  阅读:170  来源: 互联网

标签:A08 函数 C++ 传递 地址 体中 实参 结构 定义


8.1结构体概念

结构体就是用户自定义的数据类型,允许存储不同数据类型

8.2结构体的定义和使用

语法:struct 结构体{结构体成员列表}

结构体声明变量的三种方式,可见:

 8.3结构体数组

作用:将自定义的结构体放入数组中,方便进行维护

结构体数组的声明方式,如下:

 8.4结构体指针

作用:通过指针访问结构体中的成员

操作符:->

8.5结构体嵌套

 作用:结构体中的成员可以定义另一结构体;

如何定义以及如何声明,见:

 8.6结构体作参数向函数体传递

传递的方式有两种:值传递,地址传递

这一小节实际上就是将结构体和函数相结合起来,如果用函数来输出结构体是如何的形式,需要注意的仍然是值传递不改变实参的值,而地址传递会改变实参的值。

 8.7结构体中 Const使用场景

首先我们利用正常的值传递,如下

但是我们要明确:值传递函数,往往会开辟出一群新的内存空间出来,用于重新传递,如果需要传递的数据量比较大的话,此时会占用较大的内存空间

所以我们习惯使用指针来,地址传递,但是地址传递在函数体中,如果赋值不恰当,会引起实参的改变,此时使用Const有利于稳定参数的传递。

 如:此时由于const的定义,无法去改变实参的数值,否则会报错。

 {案例:一个老师的结构体,包含一个学生的结构体,利用函数来生成老师姓名,学生姓名,学生成绩,最后利用函数输出}

解1:该解法是自己做的,想法是在主程序main()输入老师姓名,学生成绩,最后用于输出;

函数体用的是指针地址传输,可以直接改变结构体中的数据;

 解2:标准答案,利用函数来直接生成数据,并且利用函数来输出。

细节1:不管是值传递还是地址传输,对于结构体而言是确确实实传输进去数据了的,所以两种方法都可以使用

细节2:在老师的结构体下直接用了数组,不用一个元素一个元素去敲;

细节3:自动生成老师姓名和学生姓名时,利用了字符尾号相加的方式

 

 

 

 

标签:A08,函数,C++,传递,地址,体中,实参,结构,定义
来源: https://blog.csdn.net/weixin_46708844/article/details/119247260

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有