编程业余爱好者..
我也百度搜了,但是说的我也看不明白,都是专业属于...
别鄙视我,给我举个简单的例子呗.
欢迎选择我的课程,让我们一起见证您的进步~~
リーリー
ここでの「仮パラメータ」は p1 と p2 であり、「実際のパラメータ」は a と b です。 が Foo を呼び出すと、システムは a のコピーをコピーして p1 に渡すため、p1 の値を変更しても a には影響しません。 p2 は b 変数への参照を表します。p2 を変更すると b も変更されます。
p1
p2
a
b
Foo
VB を書くのは久しぶりです。間違っていたらご指摘ください。
仮パラメータは、渡すことができる事前設定されたパラメータです。Foo は、2 つのパラメータ p1 と p2 を受け入れることを宣言します。このとき、p1とp2は実際には理想的な状態にすぎず、実際のパラメータではないため、仮パラメータと呼ばれます
Foo を呼び出すと、2 つの実際の意味のあるパラメーターが渡されます。1 と 2 は実際のパラメーターであるため、実パラメーターと呼ばれます
まず、仮パラメータと実パラメータについて理解してください。仮パラメータは関数を定義するときに括弧内のパラメータであり、実パラメータはこの関数を使用するときに実際に渡されるパラメータです。 変数はメモリに格納されることを再度理解してください。各変数には独自のメモリ空間があり、このメモリ空間はアドレスによって見つけることができます。 次に、これら 2 つの英語の意味、ByVal: 値による受け渡し、ByRef: アドレスによる受け渡しを見てください。 値渡しとは何ですか?つまり、最初に仮パラメータ用に新しいメモリ空間を開き、次に実パラメータの内容をこの新しいメモリ空間に転送します。この転送後、仮パラメータと実パラメータは 2 つの異なるメモリ空間に存在します。はい、この仮パラメータを関数にどのように投げるのですか? 投げているのは、実際のパラメータとは何の関係もありません。 住所による配送とは何ですか?つまり、実パラメータのメモリ空間アドレスを仮パラメータに直接渡すことになります。このように、仮パラメータと実パラメータはメモリを共有するため、仮パラメータの内容が変更されると、その内容も直接変更されます。実パラメータ。関数内で仮パラメータを投げる場合、それは実パラメータを投げることと同じです。 関数はデフォルトで値によって渡されるため、一般に関数には戻り値があり、戻り値がない場合は、関数の実行後に一時メモリ領域が解放され、半日経過しても何も起こりません。もちろん、住所で配送を定義してあれば返却する必要はありません。
リーリー
ここでの「仮パラメータ」は
p1
とp2
であり、「実際のパラメータ」はa
とb
です。が
Foo
を呼び出すと、システムはa
のコピーをコピーしてp1
に渡すため、p1
の値を変更してもa
には影響しません。p2
はb
変数への参照を表します。p2
を変更するとb
も変更されます。VB を書くのは久しぶりです。間違っていたらご指摘ください。
リーリー
仮パラメータは、渡すことができる事前設定されたパラメータです。Foo は、2 つのパラメータ p1 と p2 を受け入れることを宣言します。このとき、p1とp2は実際には理想的な状態にすぎず、実際のパラメータではないため、仮パラメータと呼ばれます
リーリーFoo を呼び出すと、2 つの実際の意味のあるパラメーターが渡されます。1 と 2 は実際のパラメーターであるため、実パラメーターと呼ばれます
まず、仮パラメータと実パラメータについて理解してください。仮パラメータは関数を定義するときに括弧内のパラメータであり、実パラメータはこの関数を使用するときに実際に渡されるパラメータです。
変数はメモリに格納されることを再度理解してください。各変数には独自のメモリ空間があり、このメモリ空間はアドレスによって見つけることができます。
次に、これら 2 つの英語の意味、ByVal: 値による受け渡し、ByRef: アドレスによる受け渡しを見てください。
値渡しとは何ですか?つまり、最初に仮パラメータ用に新しいメモリ空間を開き、次に実パラメータの内容をこの新しいメモリ空間に転送します。この転送後、仮パラメータと実パラメータは 2 つの異なるメモリ空間に存在します。はい、この仮パラメータを関数にどのように投げるのですか? 投げているのは、実際のパラメータとは何の関係もありません。
住所による配送とは何ですか?つまり、実パラメータのメモリ空間アドレスを仮パラメータに直接渡すことになります。このように、仮パラメータと実パラメータはメモリを共有するため、仮パラメータの内容が変更されると、その内容も直接変更されます。実パラメータ。関数内で仮パラメータを投げる場合、それは実パラメータを投げることと同じです。
関数はデフォルトで値によって渡されるため、一般に関数には戻り値があり、戻り値がない場合は、関数の実行後に一時メモリ領域が解放され、半日経過しても何も起こりません。もちろん、住所で配送を定義してあれば返却する必要はありません。