亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        C++語(yǔ)言中函數(shù)參數(shù)傳遞方式剖析

        2007-08-25 01:30:42張瑞玲
        關(guān)鍵詞:存儲(chǔ)單元拷貝調(diào)用

        譚 慶 張瑞玲

        摘要:主要剖析了函數(shù)參數(shù)傳遞的各種方式,以及它們之間的區(qū)別。

        關(guān)鍵詞:函數(shù)參數(shù)傳普通值調(diào)用傳地址值調(diào)用

        引用調(diào)用

        1傳值調(diào)用

        傳值調(diào)用是指在函數(shù)調(diào)用時(shí)將實(shí)參的值傳遞給形參,即拷貝一份給形參。形參和實(shí)參在內(nèi)存中有各自獨(dú)立的存儲(chǔ)單元,如果形參的值以后被修改了,那么實(shí)參的值不會(huì)改變。

        在傳值調(diào)用中,可以分為傳普通值調(diào)用和傳地址值調(diào)用兩種。傳普通值是指?jìng)鬟f變量或表達(dá)式的值。傳地址值是指?jìng)鬟f變量的地址值。

        1.1傳普通值調(diào)用

        傳普通值調(diào)用時(shí),形參用變量,實(shí)參用變量或表達(dá)式。在調(diào)用中將實(shí)參的值拷貝一份給形參。

        例1:傳普通值調(diào)用

        在主函數(shù)中,調(diào)用swap()函數(shù)的兩個(gè)實(shí)參是a和b,其值分別為3和5。調(diào)用時(shí)實(shí)參a將它的值3傳遞給形參x,實(shí)參b將它的值5傳遞給形參y。

        在swap()函數(shù)中對(duì)形參x和y的值進(jìn)行了交換。當(dāng)swap()函數(shù)執(zhí)行完成后,x的值變成了5,v的值變成了3。但實(shí)參a和b的值沒(méi)有改變,仍然是3和5。

        可以看到,在調(diào)用swap()函數(shù)時(shí),由于形參有自己獨(dú)立的存儲(chǔ)單元,存儲(chǔ)單元中存放的是對(duì)應(yīng)實(shí)參的拷貝副本,因此,當(dāng)形參的值發(fā)生改變時(shí),實(shí)參的值不變。

        1.2傳地址值調(diào)用

        傳地址值調(diào)用時(shí),形參用指針,實(shí)參用變量的地址。在調(diào)用中將實(shí)參的值,也就是這個(gè)地址拷貝一份給形參。

        例2:傳地址值調(diào)用

        執(zhí)行該程序后,顯示如下信息:請(qǐng)輸入兩個(gè)整數(shù)a,b:3,5輸出結(jié)果如下:x指的是5,y指的是3a=5,b=3

        在主函數(shù)中,調(diào)用pswap()函數(shù)前變量a和b的值分別為3和5,但調(diào)用pswap()函數(shù)的兩個(gè)實(shí)參是變量a的地址和變量b的地址,而不是a和b的值。pswap()函數(shù)的形參x和y是指向int的指針。調(diào)用時(shí)將a的地址傳遞給形參x,將b的地址傳遞給形參y。

        形參x的值是變量a的地址,那么x可以看成是指向a的指針。形參y的值是變量b的地址,那么y可以看成是指向b的指針。執(zhí)行pswap()函數(shù)后將x和y所指的變量的值進(jìn)行了交換,這樣a的值變成了5,b的值變成了。

        這里類型要一致。這種調(diào)用不拷貝實(shí)參的副本,只是將形參“綁定”在實(shí)參上。實(shí)參和形參在內(nèi)存中代表相同的存儲(chǔ)單元,因此,在被調(diào)用函數(shù)中,形參引用的改變直接影響到實(shí)參變量的改變。

        例3:引用調(diào)用

        在主函數(shù)中,調(diào)用rswap()函數(shù)前變量a和b的值分別為3和5。調(diào)用rawap()函數(shù)的兩個(gè)實(shí)參是變量a和變量b。rawap()函數(shù)的形參是int型引用x和int型引用y。調(diào)用時(shí)將變量a傳遞給形參x,將變量b傳遞給形參v。也就是用a去初始化引用x,用b去初始化引用y。x是變量a的引用,x和a在內(nèi)存中有相同的存儲(chǔ)單元;y是變量b的引用,y和b在內(nèi)存中有相同的存儲(chǔ)單元。

        在rswap()函數(shù)中對(duì)形參x和y的值進(jìn)行了交換。當(dāng)mwap()函數(shù)執(zhí)行完成后,x的值變成了5,y的值變成了3。因?yàn)閤和a在內(nèi)存中有相同的存儲(chǔ)單元,y和b在內(nèi)存中有相同的存儲(chǔ)單元,所以實(shí)參a和b的值也改變了,變成5和3。

        可以看到,在調(diào)用rawap()函數(shù)時(shí),由于形參x和實(shí)參a有相同的存儲(chǔ)單元,形參y和實(shí)參b有相同的存儲(chǔ)單元,存儲(chǔ)單元中存放的值在rawap0函數(shù)中通過(guò)形參x和y進(jìn)行了交換,那么,實(shí)參a和b的值也進(jìn)行了交換。因此,在引用調(diào)用中,當(dāng)形參的值發(fā)生改變時(shí),實(shí)參的值也會(huì)隨之改變。

        以上程序都在VC++6.0版本下完成。

        3調(diào)用方式總結(jié)

        傳普通值調(diào)用和傳地址值調(diào)用的實(shí)參、形參屬于單向傳遞數(shù)據(jù),即調(diào)用時(shí)實(shí)參的值傳給形參,形參的值被改變后不會(huì)再傳回實(shí)參。

        引用調(diào)用的實(shí)參、形參屬于雙向傳遞數(shù)據(jù),即調(diào)用時(shí)實(shí)參的值傳給形參,形參的值被改變后會(huì)再傳回實(shí)參。

        猜你喜歡
        存儲(chǔ)單元拷貝調(diào)用
        一種28 nm工藝下抗單粒子翻轉(zhuǎn)SRAM的12T存儲(chǔ)單元設(shè)計(jì)
        核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        中國(guó)生殖健康(2018年1期)2018-11-06 07:14:38
        數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中的存儲(chǔ)形式及實(shí)驗(yàn)驗(yàn)證
        一種成本更低的全新靜態(tài)DRAM存儲(chǔ)單元
        MiR-125a-5p is Upregulated in Plasma of Residents from An Electronic Waste Recycling Site
        基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
        利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
        文件拷貝誰(shuí)最“給力”
        色偷偷亚洲精品一区二区| 国产欧美一区二区精品性色| 毛片毛片免费看| 久久精品av一区二区免费| 99久久免费国产精品2017| 美女被射视频在线观看91| 全亚洲最大的私人影剧院在线看| 激情五月婷婷一区二区| 国内露脸少妇精品视频| 精品一级毛片| 无码高潮少妇毛多水多水免费 | 国产精品自在在线午夜出白浆| 麻豆久久久国内精品| 午夜国产在线精彩自拍视频| 亚洲综合日韩精品一区二区| 色噜噜狠狠狠综合曰曰曰| 日韩区在线| 欧美一区二区午夜福利在线yw| 国产精品白浆免费观看| 日产一区日产2区日产| 色欲欲www成人网站| 50岁熟妇大白屁股真爽| 加勒比无码专区中文字幕| 日韩精品不卡一区二区三区| 亚洲国产性夜夜综合另类| 国产女主播精品大秀系列| 亚洲产在线精品亚洲第一站一| 中文字幕一二区中文字幕| 日韩亚洲在线观看视频| 中文字幕人妻丝袜成熟乱| 日本阿v网站在线观看中文| 日韩国产有码在线观看视频| 偷拍一区二区三区黄片| 乱码窝窝久久国产无人精品| 影视av久久久噜噜噜噜噜三级| 欧美熟妇色ⅹxxx欧美妇| 久久久久久岛国免费网站| 九七青青草视频在线观看| 国产成+人+综合+亚洲欧美丁香花| 玩弄人妻少妇500系列网址| 久久亚洲AV无码精品色午夜|