官术网_书友最值得收藏!

2.5 引用

在變量中,不同于C語(yǔ)言的是引用型變量。引用就是給一個(gè)變量起個(gè)別名,兩個(gè)名字對(duì)應(yīng)同一個(gè)地址,這使得變量與它的引用總是具有相同的值。簡(jiǎn)單理解引用,它就好比一個(gè)人有大名與小名之分,但都指同一個(gè)人。引用型變量的定義格式如下:

     數(shù)據(jù)類型名 &引用變量名=被引用變量名;

在定義引用時(shí),需要注意以下幾點(diǎn):

  • 在以上定義格式中,“&”不是取地址符,而是引用運(yùn)算符,只在定義一個(gè)引用的時(shí)候使用,引用被定義以后就像普通變量一樣,使用時(shí)無(wú)須再用“&”符號(hào)。
  • 引用變量名為一個(gè)合法的用戶自定義標(biāo)識(shí)符。
  • 在定義一個(gè)引用時(shí),如果不是作為函數(shù)的參數(shù)或返回值,就必須對(duì)它進(jìn)行初始化,以明確該引用是哪一個(gè)變量的別名,以后在程序中不可以改變這種別名關(guān)系。
  • 因?yàn)橐米兞渴悄硞€(gè)變量的別名,所以系統(tǒng)并不為引用變量另外分配內(nèi)存空間,它與所代表的變量名占用同一段內(nèi)存空間。
  • 不是任何類型的數(shù)據(jù)都有引用,如不能建立void類型引用。

接下來(lái)演示引用型變量的定義與使用,如例2-11所示。

例2-11

運(yùn)行結(jié)果如圖2.22所示。

圖2.22 例2-11運(yùn)行結(jié)果

在例2-11中,第6行表示b是a的引用變量,a是b的被引用變量,a與b共用同一塊內(nèi)存,因此b的值也是2。第8行通過引用變量b修改a對(duì)應(yīng)的內(nèi)存值為3,從第9行輸出結(jié)果可以看出,a和b的值都變?yōu)?。第10行中通過取地址運(yùn)算符&來(lái)輸出a和b的地址,a和b代表同一塊內(nèi)存地址。從本例中可以看出,無(wú)論程序中改變了變量值還是其引用變量值,變量與它的引用總是具有相同的值。但在一個(gè)程序中,通過引用變量引用一個(gè)普通變量,顯然是沒必要的,這樣會(huì)降低程序的可讀性。實(shí)際上,引用主要用作函數(shù)參數(shù)以及作為函數(shù)的返回值,它在程序中發(fā)揮著靈活的作用。

主站蜘蛛池模板: 威宁| 广昌县| 信宜市| 收藏| 大兴区| 衡水市| 福贡县| 岑巩县| 北票市| 潜山县| 青河县| 达孜县| 邛崃市| 博爱县| 息烽县| 西盟| 犍为县| 原阳县| 万载县| 肇州县| 贵定县| 古交市| 正蓝旗| 高平市| 沧源| 花垣县| 四平市| 莱州市| 偃师市| 进贤县| 介休市| 临城县| 根河市| 布尔津县| 九龙县| 日喀则市| 南宫市| 柞水县| 十堰市| 类乌齐县| 沙雅县|