永发信息网

按值传递,地址传递与引用传递各有什么标识?按值传递不能改变形参的值,这种传递有什么用?

答案:5  悬赏:20  手机版
解决时间 2021-04-11 18:44
按值传递,地址传递与引用传递各有什么标识?按值传递不能改变形参的值,这种传递有什么用?
最佳答案

形参传递又不是用来改变形参的值,而是函数中要用到形参的值。


例如:


int subtract(int a,int b)


{


return a-b;


}


这个函数的目的并不是用来改变形参a和b的值,而是用a和b求a-b的值。



另外,除了int function (int *a, int *b);,int function(int a[],int b[]);也是地址传递

全部回答
在调用函数的时候有两种传实参的方式,一种是传某一个变量的具体值(就是所说的传值),另一种是传某一个变量的地址,如果是值传递,就是给函数的形参赋一个值,这个时候形参和实参会有各自的内存,你在子函数里对形参值的改变将不会影响原调函数中的实参值,因为他们占用的是不同的内存地址,但是如果你传的是一个地址的话(实参:在变量前加去地址运算符&,或是数组名,或是一个指针。形参此时也要是一个能接受地址的变量,且数据类型要相同),形参和实参共用一个内存空间(即实参的内存空间),你在子函数中做的操作其实就是对原实参做操作,这就会影响原掉函数的实参值。若还有疑问加Q635844619可以交流
按值传递 Byval,地址传递BYref

值传递 如int function(Int a,intb );

地址传递 如int function (int *a, int *p) ;

引用传递 如int function(int &a,int&b); 但是你说错了。是传值不能改变实参的值,形参的值可以改变。 值传递用在不需要改变实参的情况下的参数传递。

参数的传递分为:1.值方式参数传递,2.引用方式参数传递。

对参数的影响: 2种数据类型:值类型+引用类型 2种传参方式:值传参+引用传参(ref关键字);

以上的四种参数的组合 除了值传参方式传递值类型数据,其他的组合方式对参数的操作都会影响参数,都会改变!

值类型:简单类型(int,float,double,long,char,bool)+结构+枚举 存储结构:数据存放在栈中(栈:先进后出;单入口,单出口);效率高 赋值方式:传的是值 引用类型:除去简单类型(int,float,double)+结构+枚举以外的类型都是引用数据类型。如string;object;类;数组;委托;接口... 存储结构:栈中存地址;堆中放数据; 赋值方式:传的是数据的地址。

如有什么不懂,请加我QQ,QQ:137313826

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
介休玩旋舞的 在华二的 有谁?
我吸烟有来年啦,现在想戒烟,我想知道有没有
我想交女朋友…?
灌篮高手78集鱼住出场的那个音乐是什么?
初一生物题!
咏春木人桩练法
抽屉用英文怎么说,日语抽屉里面怎么说,是引
你好,我想请教下您,中科考勤的节假日设置时
小强在用稀盐酸和氢氧化钠溶液进行中和反应实
君子兰追肥蓖麻子放多啦有什么危害
如果、自己在电话里对她说很想她,通常女孩会
烟抽多了,牙齿很黄.不知道怎样才能让牙齿更
留一手虾庄地址有知道的么?有点事想过去
一个朋友有Xbox ONE平台的GTA5数字版,他要和
灵宝到哈尔滨近还是洛阳到哈尔滨近
推荐资讯
谁有更多的《猫鱼》的情侣名拜托了各位 谢谢
牛家庄三村地址有知道的么?有点事想过去
qq群怎么招聘管理员?
路家泉护林站在什么地方啊,我要过去处理事情
怎么样创见词条呀???
解方程:+1=
怎么用手机开黄钻?什么时候收费?
情侣空间有什么好处
月初祝福语,六月初一用什么样的祝福语
赛鸽老是生无精蛋怎么办?
情人节卖什么赚钱
求好心人告知电视剧美女不坏和泡沫之夏的具体
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?