C 函式引數

2021-08-31 15:56:22 字數 1393 閱讀 5807

函式傳遞的是方法外的變數的副本,函式內的變數變化,不會影響函式外部的變數

static void main(string args)

static void add(int a)

當引用型別的變數傳入函式後,在方法內部重新給引數賦值,外部變數和內部引數相互之間不會影響,這種情況一般很少見。

static void main(string args)

//列印出來1

console.readkey();

}static void add(listlist)

}

當引用型別傳入函式時,方法外部的變數和方法內部的引數的引用位址相同,指向同乙個位址,在函式內部改變引數時,外部的變數也發生了變化。

static void main(string args)

//也列印出來1,2

console.readkey();

}static void add(listlist)

}

引用引數並不建立變數的副本,引用引數和實際變數指向記憶體中同乙個位置,

static void main(string args)

",a0); //函式外部a:3

console.readkey();

}static void add(ref int a)

", a);//函式內部a:3

}

引用型別並不建立變數的副本,變數和引數指向同乙個位址,當引數位址改變後,變數位址也會跟著變化。

static void main(string args)

",a0); //函式內部a:hello word

console.readkey();

}

static void add(ref string a)

", a);//函式外部a:hello word

}

比較上下文中兩個函式,傳值引數:在函式內部中改變引數的引用位址,外部變數的引用位址不會改變;引用引數:在函式內部改變引數的引用位址,外部變數位址也發生改變。即,傳值引數使用的是變數的副本,而引用引數使用的是變數。

static void main(string args)

",a0); //函式外部a:hello

console.readkey();

}

static void add( string a)

", a);//函式內部a:hello word

}

c 函式引數

如果函式要使用引數,則必須宣告接受引數值的變數,這些變數稱為函式的形式引數 形式引數就像函式內的其他區域性變數,在進入函式時被建立,退出函式時被銷毀 當呼叫函式時,有三種向函式傳遞引數的方式 傳值呼叫 該方法把引數的實際值複製給函式的形式引數,在這種情況下,修改函式的形式引數對實際引數沒有影響 預設...

C 函式引數

變數根據儲存方式的不同,可以分為 值型別和引用型別,它們之間的區別 值型別在記憶體的乙個地方 堆疊 儲存它們自己和它們的內容 引用型別在記憶體的乙個地方 堆 儲存乙個引用,而在另外乙個地方儲存內容。還用引用型別可以為null,而值型別總是包含乙個值,簡單型別中的string和object是引用型別,...

C 函式引數

指標呼叫 向函式傳遞引數的指標呼叫方法,把引數的位址複製給形式引數。在函式內,該位址用於訪問呼叫中要用到的實際引數。這意味著,修改形式引數會影響實際引數。include using namespace std void swap int a,int b intmain 執行結果 引用呼叫 該方法把引...