C 拾遺(二 函式)

2022-05-06 01:06:08 字數 1340 閱讀 5908

1. 引數陣列。c#的特色,允許函式引數的最後指定乙個引數陣列,可以使用個數不定的引數呼叫,用params關鍵字定義

static

double sumvals(params

double

vals)

return

sum;}//

呼叫sumvals(1,2,3);

2. 值引數和引用引數。引用引數使用關鍵字ref指定。函式定義和函式呼叫時都要使用ref

static

void showdouble(ref

intval)

", val);

}//呼叫,src必須非const,src必須初始化賦值。

int src = 1;

showdouble(ref src);

3. 輸出引數。使用方式和引用引數類似,使用out關鍵字,不同於ref, out引數可以是未賦值的變數,並且建議是,有值反而會被修改而沒意義。

static

double maxval(double vals, out

intmaxindex)

}return

maxval;}//

使用double dvals=;

intdindex;

console.writeline(",

", maxval(dvals, out dindex),dindex);

4. 函式的過載。函式的簽名包括函式的名稱及其引數,包括引數的型別和關鍵字(out/ref),不包括函式的返回型別。

5. 委託。一種把引用儲存為函式的型別。委託的生命類似於函式,不帶函式體,使用關鍵字delegate。委託的宣告指定了乙個返回型別和引數列表,委託大多用於事件處理。

delegate

double processdelegate(double v1, double

v2);

static

double multiply(double v1, double

v2)static

double divide(double v1, double

v2)//

使用processdelegate process;

process = new

processdelegate(divide);//第一種用法

process = multiply;//第二種用法

process(

1, 2);

C 拾遺 函式過載

c 拾遺 函式過載 關於作用域,需要指出幾點事實 用大括號 括起來的區域處於同一作用域,常見的有函式體 for if語句等。同一作用域內不可出現同名的變數,若是函式同名,那就是函式過載問題。不同作用域內同名與否,沒影響。所有的函式之外的區域就是全域性作用域。首先需要指出,同一作用域中的函式才會出現過...

函式呼叫拾遺

通常構成函式主題的js 在定義之時是不會被執行的,只有在呼叫函式是才會被執行 有4種方式可以呼叫js函式 定義函式 factorial function factorial var probability factorial 5 以函式形式呼叫的函式通常不適用this關鍵字 方法呼叫和函式呼叫區別在...

C語言拾遺

main函式引數 c語言規定main函式引數只能有兩個,習慣上這兩個引數寫成argc和argv。c語言還規定argc必須是整形變數,argv必須是指向字串的指標陣列。因此,main函式的函式頭應該寫為 main argc,argv int argc char argv 或者 main int arg...