1. 概述
C語言中的程式模組稱為方法和類,C程式由方法和類的組合組成。 方法由方法呼叫語句呼叫,該語句描述方法的名稱並提供呼叫方法以執行特定任務所需的資訊(引數),呼叫方法時,該方法要麼將值返回給呼叫它的方法,要麼只是將控制權返回給呼叫它的方法。
方法允許程式設計師模組化程式,使用方法模組化程式有幾個優點:
一是這種分而治之的方法使程式的開發變得易於管理;
二是可以實現軟體復用,使用已有的方法和類作為構建塊來建立新程式,這樣我們就可以使用正確的方法名稱和定義來建立標準方法建立的程式,而不是構建自定義的程式
三是避免在程式中重複編寫,以方法形式封裝的**可以在程式中的多個位置。
2. 方法說明
方法是用於執行計算或其他操作的類的成員,下面是該方法的宣告格式:
屬性方法修飾符 返回值型別 方法名稱(引數列表),max(6,8));
程式的輸出為:
the max of 6 and 8 is:8
3. 方法中的引數
c 中的方法有四種型別的引數,它們是:
1 值引數
value 引數不包含任何修飾符。
2 參考引數
使用 ref 修飾符宣告引用引數。
3 輸出引數
使用 out 修飾符宣告輸出引數。
4 陣列引數
使用 params 修飾符宣告陣列型別引數
3.1 值引數
當值用於將引數傳遞給方法時,編譯器會建立引數值的副本,並將此副本傳遞給方法。 被呼叫的方法不會修改記憶體中引數的值,因此在使用 value 引數時,可以確保實際值是安全的。
下面是交換兩個值的嘗試:
static void swap(int x, int y)
int temp = x;
x = y;
y = temp;
我們呼叫這個函式來完成兩個數字的交換:
static void main()
int i = 1, j = 2;
swap(i, j);
console.writeline("i = , j = ", i, j);
上面呼叫的輸出是:
i = 1, j = 2
分析:造成這個結果的原因是 swap 方法的引數是用來傳遞值的,我們上面強調的是,當 value 引數傳遞時,編譯器會生成乙個副本,所以 swap 其實是副本的值,而不是引數的值
3.2 參考引數
從上面的例子中我們知道,value 引數無法完成值交換,如果要進行資料交換,必須將引數本身傳遞到方法呼叫中,而不是引數的副本。 C為我們提供了另一種傳遞引數的方式,那就是引用引數,與值引數不同,引用引數不會開闢新的記憶體區域,當使用引用引數將表單引數傳遞給某個方法時,編譯器會將記憶體中實際值的位址傳遞給該方法。
讓我們使用交換兩個值的示例來說明引用引數的使用。
static void swap(ref int x, ref int y), j = ", i, j);
這一次,函式的輸出是:
i = 2, j = 1
我是技術創造者