看如下代码:

#include<iostream>
using namespace std;#include<string>//结构体
struct Student {string name;int age;int score;}st3;//值传递
void printStufdents(struct Student st2) {cout << "子函数" << endl;st2.age = 150;cout << "名字:" << st2.name << "  年龄:" << st2.age << "   分数:" << st2.score << endl;
}//指针传递只占四个字节  节省内存空间  而且不会复制新的副本出来
void printStufdents(struct Student *s) {cout << "子函数" << endl;s->age = 150;cout << "名字:" << s->name << "   年龄:" << s->age << " 分数:" << s->score << endl;
}int main() {struct Student st2 = { "张三丰",120,70 };cout << "名字" << st2.name << "年龄" << st2.age << "分数" << st2.score<< endl;printStufdents(st2);system("pause");
}

1,地址传递只占四个字节  节省内存空间  而且不会复制新的副本出来

2,地址传递有个问题,会改变地址的值,为了防止误操作,我们引入了const关键字修饰指针

#include<iostream>
using namespace std;#include<string>//结构体
struct Student {string name;int age;int score;
}st3;void printStufdents(struct Student st2) {cout << "子函数" << endl;st2.age = 150;cout << "名字:" << st2.name << " 年龄:" << st2.age << "   分数:" << st2.score << endl;
}//指针传递只占四个字节  节省内存空间  而且不会复制新的副本出来
void printStufdents(const struct Student *s) {cout << "子函数" << endl;s->age = 150;cout << "名字:" << s->name << " 年龄:" << s->age << " 分数:" << s->score << endl;
}int main() {struct Student st2 = { "张三丰",120,70 };cout << "名字" << st2.name << "年龄" << st2.age << "分数" << st2.score<< endl;printStufdents(st2);system("pause");
}

C++结构体中const使用场景相关推荐

  1. C++ 基础入门 之 结构体/结构体定义和使用/结构体数组/结构体指针/ 结构体嵌套结构体/结构体做函数参数/结构体中 const 使用场景/结构体案例

    C++ 基础入门 之 结构体/结构体定义和使用/结构体数组/结构体指针/ 结构体嵌套结构体/结构体做函数参数/结构体中 const 使用场景/结构体案例 目录 一.简单介绍 二.结构体定义和使用 三. ...

  2. c++结构体总结(结构体定义,结构体数组,结构体指针,结构体嵌套结构体,结构体做函数参数,结构体中 const使用场景)

    看完b站黑马程序员之后的借鉴和笔记 1.什么是结构体,有什么作用? 在C/C++中,结构体是用户定义的数据类型.它可以把几种不同类型的数据项集合成结构体这样一个单一类型. 2. 结构体定义和使用 #i ...

  3. C++_结构体中const使用场景_结构体_毕业设计案例_使用结构体数组_随机数种子---C++语言工作笔记027

    然后我们再看const符号,在结构体中的应用 首先我们新建一个结构体.student 然后定义一个结构体变量,并初始化 然后我们再写个方法,去打印这个结构体变量 可以看到我们用的是传值

  4. C++基础之结构体中const的使用场景

    说明:用const来防止误操作. #include <iostream> using namespace std; #include<string>struct Student ...

  5. C# 8: 可变结构体中的只读实例成员

    在之前的文章中我们介绍了 C# 中的 只读结构体(readonly struct)[1] 和与其紧密相关的 in 参数[2]. 今天我们来讨论一下从 C# 8 开始引入的一个特性:可变结构体中的只读实 ...

  6. golang sqlx scan 到结构体中_Golang语言并发编程之定时器

    上一章中对于golang的常用关键字说明如下: 1 for 和 range 2 select 3 defer 4 panic 和 recover 5 make 和 new 接下来我们来对golang的 ...

  7. C语言结构体中定义函数指针详解

    C语言结构体中定义函数指针详解 结构体指针函数应用场景之一--驱动程序编写 结构体的一些基本用法 形式1:先定义结构体类型,再定义变量 形式2:在定义类型的同时定义变量 形式3:直接定义变量,用无名结 ...

  8. 结构体中最后一个成员为[0]或[1]长度数组(柔性数组成员)的用法

    结构体中最后一个成员为[0]长度数组的用法:这是个广泛使用的常见技巧,常用来构成缓冲区.比起指针,用空数组有这样的优势:(1).不需要初始化,数组名直接就是所在的偏移:(2).不占任何空间,指针需要占 ...

  9. c语言结构体定义字符串数组,C语言,结构体中字符串的声明(采用字符指针还是字符数组)...

    结构体中,字符串选项是用字符数组表示好,还是用字符指针表示好? typedef struct person{ char *name; int age; char sex[6]; }: 该结构体中nam ...

最新文章

  1. NTFS 分区表修复新法(AcronisDiskDirector10)
  2. 算法------------存在重复元素 II(Java 版本)
  3. 用于区分IE的:条件注释
  4. R - 一只小蜜蜂...(第二季水)
  5. myeclipse + tomcat 项目自动部署
  6. oracle索引可以加到in,为什么你加的索引不管用?
  7. Linux中Docker部署Nginx
  8. 解决service iptables save出错please try to use systemctl.
  9. JavaScript 败北,TypeScript 大势所趋?
  10. XP搭建winwebmail具体步骤
  11. CreateWaitableTimer和SetWaitableTimer
  12. Luogu3941[湖南集训2017] 入阵曲
  13. java无法远程读写HDFS系统解决方案
  14. 统信UOS桌面操作系统安装教程
  15. js编写五种基础排序(冒泡排序、选择排序、插入排序、快速排序、sort)
  16. 如何用电脑下载微信视频号中的视频?
  17. 教你使用html+js手绘一个时钟
  18. DataTraveler 3.0 群联PS2251-07 爆红 报错0x1042和ID issue 0002
  19. 1.只有本地管理员才能访问本页面2.notes Happy Why am lfeeling so happy today? Well ljust got to spend threedays with
  20. 大叔最新课程~EF核心技术剖析

热门文章

  1. openwrt dhcp 无法获取ip_电脑的 ip 是怎么来的呢?我又没有配置过
  2. 【OpenCV 例程200篇】77. OpenCV 实现快速傅里叶变换
  3. Python数模笔记-Sklearn (1)介绍
  4. Python入门基础篇(一)列表,详细实用,简单易懂!!!!
  5. typescript 接口 java_Typescript基础(4)——接口
  6. python核心教程_python核心教程--第四章
  7. 【性能测试】性能测试工具选择
  8. node中间件KOA函数
  9. SpringBoot学习笔记2
  10. Codeforces Gym101518H:No Smoking, Please(最小割)