c 函式引數

2021-07-24 17:37:46 字數 982 閱讀 8949

如果函式要使用引數,則必須宣告接受引數值的變數,這些變數稱為函式的形式引數

形式引數就像函式內的其他區域性變數,在進入函式時被建立,退出函式時被銷毀

當呼叫函式時,有三種向函式傳遞引數的方式

傳值呼叫

該方法把引數的實際值複製給函式的形式引數,在這種情況下,修改函式的形式引數對實際引數沒有影響

預設情況下,c++使用傳值呼叫方法來傳遞引數,一般來說,這意味著函式內的**不會改變用於呼叫函式的實際引數,函式swap()定義如下:

void swap(int x,int y)

雖然在函式內改變了xy的值,但是實際上xy的值並沒有變化

指標呼叫

該方法把引數的位址複製給形式引數,在函式內,該位址用於訪問呼叫中要用到的實際引數,這意味著,修改形式引數會影響到實際引數

按指標傳遞值,引數指標被傳遞給函式,就像傳遞其他值給函式一樣,因此相應的,在下面的函式swap()中,使用者需要宣告函式引數為指標型別,該函式用於交換引數所指向的兩個整數變數的值

void swap (int *x,int *y)

引用呼叫

該方法把引數的位址複製給形式引數,在函式內,該引用用於訪問呼叫中要用到的實際引數,這意味著,修改形式引數會影響實際引數

按引用傳遞值,引數引用被傳遞給函式,就像傳遞其他值給函式用於,因此相應的,在swap()中,使用者需要宣告函式引數為引用型別,該函式用於交換引數所指向的兩個整數變數的值

void swap (int &x,int &y)

現在,通過引用傳值來呼叫函式swap()

#include

using namespace std;

void swap (int &x,int &y)

int main ()

顯示結果

交換前a,b=100,200

交換後a,b=200,100

C 函式引數

函式傳遞的是方法外的變數的副本,函式內的變數變化,不會影響函式外部的變數 static void main string args static void add int a 當引用型別的變數傳入函式後,在方法內部重新給引數賦值,外部變數和內部引數相互之間不會影響,這種情況一般很少見。static ...

C 函式引數

變數根據儲存方式的不同,可以分為 值型別和引用型別,它們之間的區別 值型別在記憶體的乙個地方 堆疊 儲存它們自己和它們的內容 引用型別在記憶體的乙個地方 堆 儲存乙個引用,而在另外乙個地方儲存內容。還用引用型別可以為null,而值型別總是包含乙個值,簡單型別中的string和object是引用型別,...

C 函式引數

指標呼叫 向函式傳遞引數的指標呼叫方法,把引數的位址複製給形式引數。在函式內,該位址用於訪問呼叫中要用到的實際引數。這意味著,修改形式引數會影響實際引數。include using namespace std void swap int a,int b intmain 執行結果 引用呼叫 該方法把引...