一、
首先明確什麼是形參,什麼是實參
實參,顧名思義,實際引數,可以理解為有具體數值的引數
形參,顧名思義,形式引數,可以理解為無具體數值的引數
比如:void swap(int a,int b)//a和b就是形參,因為這裡的a和b並沒有具體的值
int x =1;int y = 2;swap(x,y);//這裡的x,y就是實參,他們有具體的數值
二、講一下「引用」:引用是c++對c的乙個擴充。變數的「引用」就是變數的「別名」。通過「引用」給予乙個變數新的名字,但是新的名字所代表的和原有的名字所代表的變數完全一樣,即指向同乙個位址,只是名字不一樣。
比如:int a;
int &b = a;
即int &b = c;不成立。b已經是a的「人」了,怎麼還可以是c的人呢?
三、下面說一下c++中資料的傳遞方式,主要有兩種:一是傳值方式呼叫;二是引用方式呼叫
傳值方式例子:
#include
using namespace std;
int add (int a, int b)
int main()
四、引用的其他用法
1.不能建立void函式的引用
如:void &a =b; (wrong!)
2.不能建立引用的陣列
如:char a[3] = "abc";
char &aa[3] = a;
這是錯誤的,因為a只是陣列的首元素位址,不能代表乙個占有儲存空間的變數。
3.可以用const對引用加以限定,不允許改變該引用的值。
int a = 1;
const int &b = a;
b = 3;(wrong!because b is const!)
但是可以a = 2;
此時b也變成了2;
4.可以用常量或表示式對引用進行初始化,但此時必須用const作宣告。
如:int a =1;
const int &b = a + 3;
系統處理過程為:int temp = a+3;
const int &b = temp;
也就是說,b是temp的別名。但是不能夠訪問temp,temp只存在於內部實現。
//參考於c++物件導向程式設計(第2版) p24頁
形參,實參,值引數,引用引數
using system using system.collections.generic using system.linq using system.text using system.threading.tasks namespace deledemo class program static...
java 形參 實參
實參 直接值傳遞 string 八大基礎資料型別 形參是定義方法的時候,該方法所攜帶的引數,不如說現在有乙個方法 public void printinfo string info 此處info就是乙個形參,它是string型別的。實參是你在呼叫方法的時候,給這個方法傳遞的引數值,比如說有這麼乙個語...
形參和實參
函式的引數分為形參和實參兩種。形參 出現在函式定義中,在整個 函式體內都可以使用,離開該函式則不能使用。實參出現在主調函式中,進入被調函式後,實參變數也不能使用。形參和實參的功能是作 資料傳送 發生函式呼叫 時,主調函式把實參的值傳送給被調函式的形參從而實現主調函式向被調函式的 資料傳送 函式的形參...