1 函式引數傳遞陣列
關鍵字params
class program
static int sunvals(param int vals)
int sum = 0;
foreach(int val in vals)
sum += val;
return sum;
static void main(string args)
int sum = sumvals;
console.writeline("summed values = ",sum);
console.readkey();
輸出結果為1+2+3+4+5
例項說明關鍵字params定義函式sumvals(),該函式可以接受任意個int引數(但不接受其他型別的引數)
2 引用引數和值引數
關鍵字ref
示例一:
static coid showdouble(int val)
val *= 2;
console.writeline("val doubled = ",val);
int mynumber = 5;
console.writeline("mynumber = ",mynumber);
showdouble(mynumber);
console.writeline("mynumber = ",mynumber);
輸出結果為
mynumber = 5;
val double = 10;
mynumber = 5;
把mynumber作為乙個引數,呼叫showdouble()並不影響main中mynumber的值,即時賦予了val的引數被加倍,mynumber的值也不變。
示例二:
static coid showdouble(intrefval)
val *= 2;
console.writeline("val doubled = ",val);
int mynumber = 5;
console.writeline("mynumber = ",mynumber);
showdouble(refmynumber);
console.writeline("mynumber = ",mynumber);
輸出結果為:
mynumber = 5;
val double = 10;
mynumber = 10;
使用ref關鍵字作為函式引數,函式可能會改變引數的值,所以必須在函式呼叫中使用「非常量」變數;還必須使用初始化的變數。
關鍵字out
static int maxvalue(int intarray,out int maxindex)
int maxval = intarray[0];
maxindex = 0;
for(int i =1;i < intarray.length;i++)
maxval = intarray[i];
mxindex = i;
return maxval;
int myarray = ;
int maxindex;
console.writeline("this maximum value in myarray is ",maxvalue(myarray,out maxindex));
console.writeline("the first occurrence of this value is at element ",maxindex + 1);
輸出結果為:
the maximum value in myarray is 9
the first occurrence of this value is at element 7
如何在C 中呼叫C函式
這是程式設計師面試寶典中的一道題,查資料得到解決方法 注意這裡的c呼叫c 或者c 呼叫c意思是.c檔案中呼叫.cpp檔案中 或者相反。整合開發環境如vc 6.0或者vs都是以檔案字尾來區別當前要編譯的是c 還是 然後採用響應的編譯 呼叫協議等。使用extern c 主要是因為c編譯器編譯函式時不帶引...
如何在C 中呼叫C函式?
假如在乙個專案中同時包含了c和c 當c 呼叫c函式時,以傳統c程式設計 include h 後,宣告函式。由於main.cpp 是個c 以c方式的呼叫,g 編譯器無法通過編譯。解決方案一 重寫乙個專門被c 用的標頭檔案 可能存在是別人已經寫好的標頭檔案,我們無法修改等問題 e.g.新增乙個標頭檔案 ...
Main函式引數argc,argv如何傳入
方法1.c c 語言中的main函式,經常帶有引數argc,argv,如下 int main int argc,char argv int main int argc,char argv 這兩個引數的作用是什麼呢?argc 是指命令列輸入引數的個數,argv儲存了所有的命令列引數。假如你的程式是he...