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 等等都是取值 而非地址以你...