副本机制

1.首先说一下函数的副本机制

看一段简单的代码

 1 # include<stdio.h>
 2 # include<stdlib.h>
 3 
 4 int add(int n, int m)
 5 {
 6     int z = n + m;
 7     return z;
 8 }
 9 
10 int main()
11 {
12     printf("%d\n", add(1, 2));
13 }
View Code

当函数返回后,内存已经回收,仍能打印值,这是因为函数的副本机制

2.结构的有副本

 1 # include<stdio.h>
 2 # include<stdlib.h>
 3 
 4 struct myStruct
 5 {
 6     int a[5];
 7     int n;
 8 };
 9 
10 void change(struct myStruct my1)
11 {
12     my1.n = 0;
13     my1.a[0] = 1000;
14     printf("%d\n", &my1);
15 }
16 
17 int main1()
18 {
19     struct myStruct my1 = { { 1, 2, 3, 4, 5 }, 100 };
20     printf("%d,%d\n", my1.a[0], my1.n);
21     printf("%d\n", &my1);
22     change(my1);
23     printf("%d,%d\n", my1.a[0], my1.n);
24     system("pause");
25 }
View Code

结果:(可以发现没有改变,地址不同)

 

结论:

1.除了数组没有副本机制,其他都有副本机制

2.结构体有副本机制

3.结构体中就算有数组,也有副本机制

4.结构体数组,单个有副本机制

 

转载于:https://www.cnblogs.com/sxmcACM/p/4127114.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398738.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Dubbo亮点总结

Dubbo是阿里巴巴的一个开源RPC项目&#xff0c;可在http://dubbo.io进行訪问 类似的产品有Hessian、spring httpinvoke 等。 Dubbo的亮点总结例如以下&#xff1a; 1、服务注冊中心 相比Hessian类RPC框架&#xff0c;Dubbo有自己的服务中心。 写好的服务能够注冊到服务中心。…

cmake 教程

https://www.jianshu.com/p/bbf68f9ddffa 转载于:https://www.cnblogs.com/icmzn/p/8399250.html

王道操作系统考研笔记——2.1.7 进程调度的时机、切换与过程、方式

文章目录2.1.7 进程调度的时机、切换与过程、方式2.1.7.1 进程调度的时机2.1.7.2 进程调度的方式2.1.7.3 进程的切换和过程2.1.7.4 小结2.1.7 进程调度的时机、切换与过程、方式 知识总览 2.1.7.1 进程调度的时机 进程调度&#xff08;低级调度&#xff09;&#xff0c;就是按…

AS(Autonomous System)

在互联网中&#xff0c;一个自治系统&#xff08;英文&#xff1a;Autonomous system, AS&#xff09;是指在一个&#xff08;有时是多个&#xff09;实体管辖下的所有IP网络和路由器的 全体&#xff0c;它们对互联网执行共同的路由策略。 自治系统&#xff08;Autonomous Syst…

HTTP和HTTPS的区别(转)

原文链接&#xff1a;HTTP和HTTPS的区别 HTTPS&#xff08;Secure Hypertext Transfer Protocol&#xff09;安全超文本传输协议 它是一个安全通信通道&#xff0c;它基于HTTP开发&#xff0c;用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换&…

记录一次nginx配置vhost的小bug

话说这篇博客是在是为了保持自己记录生活的习惯而写的&#xff0c;没有什么阅读的价值&#xff0c;各位读者可以直接忽略了。今天在配置一个域名的时候&#xff0c;写了new_example.com&#xff08;举例而已&#xff09; 因为是内测&#xff0c;所以并未想象到深层次的问题&…

王道操作系统考研笔记——2.1.8 调度算法的评价指标

文章目录2.1.8 调度算法的评价指标2.1.8.1 CPU利用率2.1.8.2 系统吞吐量2.1.8.3 周转时间2.1.8.4 等待时间2.1.8.5 响应时间2.1.8.6 小结2.1.8 调度算法的评价指标 知识总览 需要注意的是&#xff0c;这一部分的知识要学会计算 2.1.8.1 CPU利用率 在早期&#xff0c;由于CPU造…

jenkins自动化构建iOS应用配置过程中遇到的问题

最近配置jenkins来自动构建iOS应用&#xff0c;期间遇上不少问题。在这里分享给大家,也给自己留个底&#xff0c;方便下次解决问题。 首先说明下基本情况&#xff0c;我们因为部署jenkins的机器不是Mac,所以不能安装Xcode插件&#xff0c;我不知道这个插件能给我们带来多少便捷…

用户体验设计的五个原则(转)

【编者按】本文作者&#xff0c;现Aura Marker Studio创始人路意Louis&#xff0c;曾带过五年多的用户体验设计团队。这篇文章是他带团队这几年沉淀下来的一些经验和思考。 “设计&#xff0c;必须是充满诗意的。” 带过五年多的用户体验设计团队&#xff0c;从几个人到二十几个…

js遍历 for-of

for-of遍历 entries() 返回一个遍历器对象&#xff0c;用来遍历[键名, 键值]组成的数组。对于数组&#xff0c;键名就是索引值&#xff1b;对于 Set&#xff0c;键名与键值相同。Map 结构的 Iterator 接口&#xff0c;默认就是调用entries方法。keys() 返回一个遍历器对象&…

王道操作系统考研笔记——2.1.9 调度算法

2.1.9 调度算法 知识总览 学习各种调度算法的思路 算法思想算法规则这种调度算法是用于作业调度还是进程调度&#xff1f;抢占式或是非抢占式优点和缺点是否会导致饥饿&#xff08;某进程/作业长期得不到服务&#xff09; 2.1.9.1 先来先服务 知识点说明英文名FCFS&#xff0…

程序员的春天来了,赏花去!说走就走

2019独角兽企业重金招聘Python工程师标准>>> 经历了寒冷的隆冬&#xff0c;阳春三月终于到来&#xff0c;在温暖如棉的风里&#xff0c;赶紧去户外走走吧&#xff0c;享受大自然赐予我们的无限美……春意盎然&#xff0c;正是赏花好时节&#xff0c;每天久坐电脑前的…

关于个人防火墙的真相

原文作者&#xff1a;MaD 原文标题&#xff1a;The truth aboutpersonal firewalls电子邮件&#xff1a;mad-factormail.ru作者国籍&#xff1a;俄罗斯声明&#xff1a;1、本人翻译水平有限&#xff0c;有不当之请大家理解。如部分看不懂可以和原文对照。 2、欢迎转…

NOI2015 程序自动分析

Luogu 写个并查集来维护就行了。先合并所有相等的变量&#xff0c;如果有两个不相等的变量相等&#xff0c;那么就输出NO。注意得先合并所有相等的变量&#xff0c;再来判断。因为如果两个操作一起搞的话&#xff0c;可能会有两个变量在某次查询的时候不相等&#xff0c;但后面…

王道操作系统考研笔记——2.2.0 交互式系统调度算法

2.2.0 交互式系统调度算法 知识总览 2.2.0.1 时间片轮转 知识点说明英文名RR&#xff0c;Round-Robin算法思想公平地、轮流地为各个进程服务&#xff0c;让每个进程在一定时间间隔内都可以得到响应算法规则按照各进程到达就绪队列的顺序&#xff0c;轮流让各个进程执行一个时…

Linux(Ubuntu 16) 下Java开发环境的配置(二)------Tomcat的配置及常见问题

前言 相比于java JDK的配置,Tomcat的配置简单的多,简直就相当于直接运行了,本文以Tomcat8.0为例进行配置1.Tomcat的下载 地址:https://tomcat.apache.org/download-80.cgi下载上图标示文件即可.然后解压到一个方便的文件夹即可.2.Tomcat的启动 如果你的Tomcat的JDK配置好的话,理…

王道操作系统考研笔记——2.3.1 进程同步和进程互斥

文章目录2.3.1 进程同步和进程互斥2.3.1.1 什么是进程同步&#xff1f;2.3.1.2 什么是进程互斥2.3.1.3 小结2.3.1 进程同步和进程互斥 知识总览 2.3.1.1 什么是进程同步&#xff1f; 在前面&#xff0c;我们说过进程具有异步性的特征。 而我们想让进程执行的顺序是可预知的&…

王道操作系统考研笔记——2.3.2 进程互斥的软件实现方法

文章目录2.3.2 进程互斥的软件实现方法2.3.2.1 单标志法2.3.2.2 双标志先检查法2.3.2.3 双标志后检查法2.3.2.4 Peterson算法2.3.2.5 小结2.3.2 进程互斥的软件实现方法 知识总览 2.3.2.1 单标志法 单标志法的算法思想是&#xff1a;两个进程在访问完临界区后会把使用临界区的…

js处理上下文代码的2个阶段

1、进入执行上下文 当进入执行上下文(代码执行之前)时&#xff0c;VO里已经包含了下列属性(前面已经说了)&#xff1a; 函数的所有形参(如果我们是在函数执行上下文中) — 由名称和对应值组成的一个变量对象的属性被创建&#xff1b;没有传递对应参数的话&#xff0c;那么由名称…

deep learning入门学习

根据知乎的一些大牛的回答总结出的deep learning入门学习的一些material&#xff1a; BE NOTED THAT SOME VIDEOS ARE ON YOUTUBE! I BELIEVE THAT YOU KNOW HOW TO ACESS THEM. 1. Andrew Ng的机器学习前四章的内容(线性回归与逻辑回归) http://open.163.com/special/opencour…