C语言副本机制
1.除了数组外,其他都有副本机制(包括结构体数组)
2.结构体作为参数具有副本机制,结构体返回值也有副本机制 。
3.函数的参数和返回值都有他的副本机制。
#include<stdio.h>
int a=,b=;
static int sum(int aa,int bb){
printf("the aa is 0x%p,%d",&aa,aa);
printf("\nthe bb is 0x%p,%d",&bb,bb);
aa=;
return a+b;
}
int main(){
sum(a,b);
printf("\nthe a is 0x%p,%d",&a,a);
printf("\nthe b is 0x%p,%d",&b,b);
}

形参aa和bb是对a和b地址的拷贝。
#include<stdio.h>
int array[]={,};
static int arr(int arra[]){
printf("\nthe array is 0x%p,%d",arra,arra[]);
arra[]=;
return arra[]+arra[];
}
int main(){
arr(array);
printf("\nthe array is 0x%p,%d",array,array[]);
return ;
}

形参arra传入的是array的实际地址。
#include<stdio.h>
typedef struct{
int ar[];
int a;
}Struct; Struct my;
static void fuzhif(Struct mystruct){
mystruct.a=;
mystruct.ar[]=;
printf("\nthe mystruct address is:0x%p,ar address is:0x%p,%d,%d",&mystruct,mystruct.ar,mystruct.a,mystruct.ar[]);
} int main(){
my.a=;
my.ar[]=;
printf("\nthe my address is:0x%p,ar address is:0x%p,%d,%d",&my,my.ar,my.a,my.ar[]);
fuzhif(my);
printf("\nthe my address is:0x%p,ar address is:0x%p,%d,%d",&my,my.ar,my.a,my.ar[]);
return ;
}

形参mystruct传入的是结构体my的地址的拷贝。
#include<stdio.h>
typedef struct{
int ar[];
int a;
}Struct; Struct my; static void fuzhit(Struct *mystruct){
mystruct->a=;
mystruct->ar[]=;
printf("\nthe mystruct address is 0x%p,ar address is:0x%p,%d,%d",mystruct,mystruct->ar,mystruct->a,mystruct->ar[]);
} int main(){
my.a=;
my.ar[]=;
printf("\nthe my address is:0x%p,ar address is:0x%p,%d,%d",&my,my.ar,my.a,my.ar[]);
fuzhit(&my);
printf("\nthe my address is:0x%p,ar address is:0x%p,%d,%d",&my,my.ar,my.a,my.ar[]);
return ;
}

如果形参为结构体变量,那么可以通过结构体指针修改某一结构体变量的值。
C语言副本机制的更多相关文章
- HDFS副本机制&负载均衡&机架感知&访问方式&健壮性&删除恢复机制&HDFS缺点
副本机制 1.副本摆放策略 第一副本:放置在上传文件的DataNode上:如果是集群外提交,则随机挑选一台磁盘不太慢.CPU不太忙的节点上:第二副本:放置在于第一个副本不同的机架的节点上:第三副本:与 ...
- Java语言实现机制
Java语言实现机制 1.Java虚拟机(Java Virtual Machine) Java虚拟机(JVM)是在一台计算机上由软件模拟也可以用硬件来实现的假想的计算机.它定义了指令集(相当于中央处理 ...
- kafka副本机制之数据可靠性
一.概述 为了提升集群的HA,Kafka从0.8版本开始引入了副本(Replica)机制,增加副本机制后,每个副本可以有多个副本,针对每个分区,都会从副本集(Assigned Replica,AR)中 ...
- kafka4 副本机制
概述 每个分区有n个副本,可以承受n-1个节点故障. 每个副本都有自己的leader,其余都是follower. zk中存放分区的leader和 follower replica的信息.(get /b ...
- 浅谈C语言中断处理机制
一.中断机制 1.实现中断响应和中断返回 当CPU收到中断请求后,能根据具体情况决定是否响应中断,如果CPU没有更急.更重要的工作,则在执行完当前指令后响应这一中断请求.CPU中断响应过程如下:首先, ...
- hdfs深入:03、hdfs的架构以及副本机制和block块存储
HDFS分布式文件系统设计目标 1. 硬件错误 由于集群很多时候由数量众多的廉价机组成,使得硬件错误成为常态 2. 数据流访问 所有应用以流的方式访问数 ...
- 深入理解 Kafka 副本机制
一.Kafka集群 二.副本机制 2.1 分区和副本 2.2 ISR机制 2.3 不完全的首领选举 2.4 最少同步副本 ...
- Kafka 学习之路(五)—— 深入理解Kafka副本机制
一.Kafka集群 Kafka使用Zookeeper来维护集群成员(brokers)的信息.每个broker都有一个唯一标识broker.id,用于标识自己在集群中的身份,可以在配置文件server. ...
- Kafka 系列(五)—— 深入理解 Kafka 副本机制
一.Kafka集群 Kafka 使用 Zookeeper 来维护集群成员 (brokers) 的信息.每个 broker 都有一个唯一标识 broker.id,用于标识自己在集群中的身份,可以在配置文 ...
随机推荐
- 关于服务器运维人员,该如何管理很多VPS呢?
众所周知,服务器运营人员的工作内容,主要围绕着公司上下所有服务器.网络等硬件平台的运维工作,对每台服务器的状况,如磁盘.内存.网络.CPU等资源情况都要有明确的了解,还要定期对服务器进行巡检和修复,避 ...
- Jpa使用详解
目录 ORM思想 1.ORM概述 2.为什么要使用ORM 3.常见的ORM框架 JPA简介 1.JPA概述 2.JPA的优势 3.JPA与hibernate的关系 JPA入门案例 1.搭建开发环境 常 ...
- Rocket - config - Configs
https://mp.weixin.qq.com/s/z2gUYuYQAHQCa_5HZcBszw 介绍各个配置项的组织方式. 参考链接: https://docs.qq.com/sheet/ ...
- Redis 单节点百万级别数据 读取 性能测试.
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 这里先进行造数据,向redis中写入五百万条数据,具体方式有如下三种: 方法一:(Lua 脚本) vim ...
- .NetCore3.1中的WebApi如何配置跨域
写法 一: 1. 打开Startup.cs,定义静态变量Any,用以配置跨域. private readonly string Any = "Any"; 2. 在Configure ...
- ASP.NET中LINQ的基本用法
此Demo只是一个极其简单的LINQ查询Demo 一个类 using System; using System.Collections.Generic; using System.Linq; usin ...
- Java实现 蓝桥杯 算法提高 套正方形(暴力)
试题 算法提高 套正方形 问题描述 给定正方形边长width,如图按规律输出层层嵌套的正方形图形. 注意,为让选手方便观看,下图和样例输出均使用""代替空格,请选手输出的时候使用空 ...
- Java实现 LeetCode 239 滑动窗口最大值
239. 滑动窗口最大值 给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧.你只可以看到在滑动窗口内的 k 个数字.滑动窗口每次只向右移动一位. 返回滑动窗口中的最 ...
- Java实现 蓝桥杯 历届试题幸运数
问题描述 幸运数是波兰数学家乌拉姆命名的.它采用与生成素数类似的"筛法"生成 . 首先从1开始写出自然数1,2,3,4,5,6,- 1 就是第一个幸运数. 我们从2这个数开始.把所 ...
- java实现第三届蓝桥杯机器人行走
机器人行走 [编程题](满分18分) 某少年宫引进了一批机器人小车.可以接受预先输入的指令,按指令行动.小车的基本动作很简单,只有3种:左转(记为L),右转(记为R),向前走若干厘米(直接记数字). ...