永发信息网

在C#中什么是形参、什么是实参?

答案:2  悬赏:80  手机版
解决时间 2021-01-23 01:19
在C#中什么是形参、什么是实参?
最佳答案
其他语言都是一样的吧
main()
{ int a=1;
fun(a); // 这里的a ,传到fun函数里,在这里,这个a 是实参
}
fun( int b){
b=b+1; //这里的b ,是函数里面定义的,是形式参数,它接受调用时实参的值。
}
全部回答
形参:在定义函数中指定的参数就是形参,在未出现函数调用时,他们并不占内存中的存储单元,只有在发生函数调用时,函数中的形参才被分配内存单元。在调用结束后,形参所占的内存单元也被释放。
实参:实参可以是常量、变量和表达式,但要求有确定的值。在调用时将实参的值赋给形参。在内存中,实参单元和形参单元是不同的单元。在调用函数时,给形参分配存储单元,并将实参对应的值传递给形参,调用结束后,形参单元被释放,实参单元仍保留原值。
C#中有两种类型的数据,一种为值类型;另一种为引用类型。理解这两种数据类型,有利于进一步编程和实现。
他们最大的区别就是存储的位置不同,前者值类型存储在内存的堆栈中(一些书上面也说是【栈】),后者存储在内存堆中(一些书上面说是【堆】),栈中的内存不需要自己就能回收,内存堆中的数据需要.Net FrameWork 自己的内存清理机制进行回收。
值类型的数据传递参数的时候,默认情况下采用传递形参,实参的内容不变,如果想把实参传递过去,那么,在C#中只有通过ref关键字来实现。其实这里面的ref和c/c++中的地址引用差不多,具体原理没有深究,但是可以这么理解。
但是引用类型传递的时候是传递的内存的地址,也就是“传递实参”。所以有些时候就能够理解一些东西了。比如:DataSet传递时候,就是传递的“实参”。他也就是引用类型。
值类型不是很多,int float double char等。注意:string为引用类型。这个比较特殊。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
从太仓沙溪到万达广场应该坐几号车
8822车牌号怎么样
樱花卫厨专卖店地址有知道的么?有点事想过去
在石灰水中滴入一滴酚酞试液,溶液呈红色,为
任何小问题都看得非常清楚,比喻为人非常精明
微商做不走,货出不了,上家又不退货怎么办
跪求玄幻小说
关于直筒裤要穿什么鞋才好看!
苹果4sqq登录显示苹果在线么
山东条件好还是广东?
生辉奇石多宝阁地址在什么地方,想过去办事,
浴霸灯吹风机有启动声音,但是不吹风,灯管也
郑州方特都有什么项目
拉斐尔整体家具地址有知道的么?有点事想过去
武汉市武钢三中高中部进去之后要分几次班呢?
推荐资讯
如图中,∠AOB=180°,∠AOC=90°,∠DOE=90
一个底面半径4分米的圆柱截成两个圆柱体后,
12. 已知int a;float b;所用的scanf调用语句
“周润发将东方男性的魅力发挥到了极致!”这
1 27 8 64 1 9 4 16 1 3 2 4 1 1 1 1 计算下
甲、乙两人各坐一游船在湖中划行,甲摇桨10次
日语 回答栏 怎么发音? 各个性派怎么发音?
冠特北汽威旺4S店地址好找么,我有些事要过去
沼泽和泥潭有什么区别?
慈溪市天元镇清清幼儿园地址在什么地方,想过
股东将闲置资金转为定存是什么意思
增益速递(长安村九组兴景苑家属区后门斜对面)
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?