6.3參數(shù)的傳遞
1.形參與實(shí)參的概念
形參:指出現(xiàn)在Sub 和Function過(guò)程形參表中的變量名、數(shù)組名,過(guò)程被調(diào)用前,沒(méi)有分配內(nèi)存,其作用是說(shuō)明自變量的類(lèi)型和形態(tài)以及在過(guò)程中的角色。形參可以是:
1)除定長(zhǎng)字符串變量之外的合法變量名;
2)后面跟()括號(hào)的數(shù)組名。
實(shí)參:是在調(diào)用Sub 和Function過(guò)程時(shí),傳送給相應(yīng)過(guò)程的變量名、數(shù)組名、常數(shù)或表達(dá)式。在過(guò)程調(diào)用傳遞參數(shù)時(shí),形參與實(shí)參是按位置結(jié)合的,形參表和實(shí)參表中對(duì)應(yīng)的變量名可以不必相同,但位置必須對(duì)應(yīng)起來(lái)。
形參與實(shí)參的關(guān)系:形參如同公式中的符號(hào),實(shí)參就是符號(hào)具體的值;調(diào)用過(guò)程:即實(shí)現(xiàn)形參與實(shí)參的結(jié)合,也就是把值代入公式進(jìn)行計(jì)算。
2. 按值傳遞參數(shù)(定義時(shí)加ByVal)
按值傳遞參數(shù)(Passed By Value)時(shí),是將實(shí)參變量的值復(fù)制一個(gè)到臨時(shí)存儲(chǔ)單元中,如果在調(diào)用過(guò)程中改變了形參的值,不會(huì)影響實(shí)參變量本身,即實(shí)參變量保持調(diào)用前的值不變。
3.按地址傳遞參數(shù)(定義時(shí)沒(méi)有修飾詞或帶關(guān)鍵字ByRef)
按地址傳遞參數(shù)時(shí),把實(shí)參變量的地址傳送給被調(diào)用過(guò)程,形參和實(shí)參共用內(nèi)存的同一地址。在被調(diào)用過(guò)程中,形參的值一旦改變,相應(yīng)實(shí)參的值也跟著改變。如果實(shí)參是一個(gè)常數(shù)或表達(dá)式,VB會(huì)按“傳值”方式來(lái)處理。
4.數(shù)組參數(shù)
VB允許把數(shù)組作為形參出現(xiàn)在形參表中,語(yǔ)法: 形參數(shù)組名() [As 數(shù)據(jù)類(lèi)型]
形參數(shù)組只能按地址傳遞參數(shù),對(duì)應(yīng)的實(shí)參也必須是數(shù)組,且數(shù)據(jù)類(lèi)型相同。調(diào)用過(guò)程時(shí),把要傳遞的數(shù)組名放在實(shí)參表中,數(shù)組名后面不跟圓括號(hào)。在過(guò)程中不可以用Dim語(yǔ)句對(duì)形參數(shù)組進(jìn)行聲明,否則會(huì)產(chǎn)生“重復(fù)聲明”的錯(cuò)誤。但在使用動(dòng)態(tài)數(shù)組時(shí),可以用ReDim語(yǔ)句改變形參數(shù)組的維界,重新定義數(shù)組的大小。
5. 對(duì)象參數(shù)
VB中可以向過(guò)程傳遞對(duì)象,在形參表中,把形參變量的類(lèi)型聲明為“Control”,可以向過(guò)程傳遞控件;若聲明為“Form”,則可向過(guò)程傳遞窗體。對(duì)象的傳遞只能按地址傳遞。
相關(guān)推薦:計(jì)算機(jī)等級(jí)考試二級(jí)VB二十套上機(jī)試題及答案北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |