リファレンス渡し・参照渡しとは?プログラミングの基本概念をわかりやすく解説
## リファレンス渡しとは?
プログラミングにおける「リファレンス渡し」とは、変数を参照する際に、その変数が持つメモリ上のアドレスを引数として渡す方法のことを指します。つまり、渡された変数への変更が元の変数にも反映されることが特徴です。
例えば、以下のようなコードを考えてみましょう。
“`python
def add_one(num):
num += 1
x = 1
add_one(x)
print(x)
“`
この場合、関数add_one内での変数numの変更は、元の変数xには反映されません。つまり、出力結果は「1」となります。
しかし、リファレンス渡しを使った場合は、変数のアドレスが渡されるため、上記の問題を回避することができます。
## 参照渡しとは?
プログラミングにおける「参照渡し」とは、オブジェクトへの参照を引数として渡す方法のことを指します。つまり、渡されたオブジェクトに対する変更が元のオブジェクトにも反映されることが特徴です。
例えば、以下のようなコードを考えてみましょう。
“`python
def add_one(lst):
lst.append(1)
my_list = [0]
add_one(my_list)
print(my_list)
“`
この場合、関数add_one内でのリストの変更が、元のmy_listにも反映されます。つまり、出力結果は「[0, 1]」となります。
## まとめ
リファレンス渡しと参照渡しは、プログラムにおける変数やオブジェクトの渡し方の基本概念です。リファレンス渡しは、変数が持つアドレスを渡す方法で、参照渡しは、オブジェクトへの参照を渡す方法です。それぞれの特徴を理解し、適切に使い分けることが重要です。