私のプログラミング言語のクラスでは、パス名とパスバイバリュー結果の仕組みを理解しようとしています。私は、これらが主流の言語ではほとんど使われていないことを認識していますが、彼らがどのように働いているのかを感じたいと思っています。例(依存しない言語)として:名前でパスと値渡しの結果
void swap(int a, int b){
int t;
t = a;
a = b;
b = t;
}
void main() {
int val = 1, list[5] = {1, 2, 3, 4, 5}
swap(val, list[val]);
}
値による結果-通過と通過することにより、名前の両方のためにスワップが呼び出された後のVal、リストの値がどうなりますか。
説明も素晴らしいでしょう。
私が推測したところから、それは価値観:val = 2、list = {1,1,3,4,5}とname:val = 3、list = {1,2,1,4、 5}。私はそれらの結果について非常に不確かです。
また、配列が単一のint型ではなく渡されたときに、これらのメソッドの両方が動作する方法が変わりますか?事前に助けてくれてありがとう。