c 中引數的傳遞 是什麼過程

時間 2023-07-20 09:31:02

1樓:匿名使用者

簡單的說吧。

引數傳遞 如果是按值傳遞 那麼物件到函式中就要被複製一次。

如果是按引用傳遞 那麼只需複製物件的位址即可。

對於c#來說。

凡是結構(即struct定義的)全都用按值複製 如果在函式中改變那個引數 則實參不會改變。

例如change(char p) 如果在change中p這個引數被改變了。

那麼 char a = a';

change( a );

這個 a 變數不會被改變。

反之 按引用傳遞得特點就是 減少了複製操作。

凡是結構(即struct定義的)全都用按值複製 如果在函式中改變那個引數 則實參不會改變。

例如change(point p) 如果在change中p這個引數被改變了。

那麼 point a = new point();

change( a );

當改變函式a中的某個成員函式時 a也會改變。

c#中方法的引數可以有哪幾種傳遞方式

2樓:竟然沒名字用了

c#中方法的引數可以有三種傳遞方式,方式如下:

1、傳入乙個大小為2的一位陣列來傳遞最大值和最小值。

using system;

using ;

using ;

using ;

class program

static void main(string args)program p = new program();

int maxa = 0,mina =0;

int array = new int[5];

int array2 = new int[2];

array2);

最大值為" +array2[0]);

最小值為" +array2[1]);

public void getmaxandmin(int array,int array2)

int max = array[0];

int min= array[0];

for (int i = 0; i < i++)

p);最大值為,最小值為",

public void getmaxandmin(int array,program p2)

int max = array[0];

int min= array[0];

for (int i = 0; i < i++)

ref max1, ref min1);

最大值為,最小值為",max1, min1);

public void getmaxandmin(int array, ref int max,ref int min)

max = array[0];

min = array[0];

for (int i = 0; i < i++)if (array[i] >max)

max = array[i];

if (array[i] min = array[i];

c 中為什麼陣列地址可以作為引數傳遞而不能直接賦值給別的陣列呢

這是甲魚的臀部 規定.因為陣列名錶示陣列的首地址,int b它要定義自己的陣列空間,當然不能用別的陣列的空間,所以不能把a傳給它.但陣列作為引數傳遞時,array只是個臨時指標變數,函式還是直接對實引數組進行操作,不需要另外生成陣列.樓上兩位說的a的指標,其實就是陣列首元素的指標,即陣列首地址,只不...

在C中何為引數,引數的定義是什麼

引數一般出現在方法裡面。如 public void get string str,int age 在get後面的括號裡,就是形參,引數可以有很多中,具體情況需要結合實際的需求,去定義有效的引數,如果能幫助到樓主,請採納,萬分感謝 引數是用來傳遞資料的。以下是是本人學習筆記 不同型別的引數傳遞 如果需...

C語言,為什麼int a的傳遞引數是這樣的

a 4 作為引數,傳遞的是陣列第五個元素 雖然你這個陣列裡沒有 的值。a作為引數,是將陣列a的首地址傳遞過去,類似於指標。 void func int a 你可以暫時看做等同於void func int a 需要的是一個陣列的首地址 陣列名即為陣列的首地址 a 0 a 1 等等都是取值 而非地址以你...