引用參數(shù)是由調(diào)用部位傳入實參的地址(寫在留言板上)的形參。
在錦江等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都做網(wǎng)站、網(wǎng)站建設 網(wǎng)站設計制作按需規(guī)劃網(wǎng)站,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,品牌網(wǎng)站建設,成都營銷網(wǎng)站建設,成都外貿(mào)網(wǎng)站建設,錦江網(wǎng)站建設費用合理。
以符號“&”開始的參數(shù)即為引用參數(shù)。
如果一個形參是引用參數(shù),調(diào)用部位將把實參的地址傳遞給子程序。子程序可以改變傳遞給引用參數(shù)的任何實參,因為子程序操作的是真正的變量,而不是它的副本。
引用變量在聲明的時候必須初始化
例如:
int a;
int & ref = a;
引用參數(shù)操作的是引用的對象內(nèi)存中的空間
int a = 10;
int & ref = a;//ref 引用 a的內(nèi)存地址
printf("ref = %d\n", ref);
a = 20;//當a內(nèi)存的值改變,ref找到a的內(nèi)存地址得到改變后的值
printf("當a改變后ref = %d\n", ref);
ref = 30;//ref對引用的內(nèi)存地址進行改變, a在內(nèi)存中的值改變,a改變
printf("當ref改變后a=%d",ref);
普通變量操作自己的內(nèi)存空間
int a = 10;
int b = a;//使用了一個int大小的空間給b,將a的值復制給b
printf("b = %d\n", b);
a = 20;//當a所在內(nèi)存的值改變,b所在內(nèi)存 的值不會受影響
printf("當a改變后b = %d\n", b);
b = 30;//b所在內(nèi)存的值改變, a在內(nèi)存中的值也不會受影響
printf("當b改變后a=%d",a);
int sum(int & a, int & b);
//c = sum(10, 20); 錯誤,不能傳入直接數(shù)
int a = 10, b = 20;
c = sum(a, b); //正確,必須通過變量將值傳入函數(shù)
但是如果函數(shù)在聲明的時候用const
修飾了引用變量,就可以傳入直接數(shù),編譯器會創(chuàng)建一個臨時的無名變量跟引用變量綁定。例如:
int sum(const int & a,const int & b);
c = sum(10, 20); //正確,引用變量被const修飾