C 學習筆記(函式 如何在函式中傳入傳出引數)

2022-08-05 06:15:11 字數 2040 閱讀 2422

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...