引数単語

ヒキスウ

引数(ひきすう)とは、プログラミング言語においてサブルーチン(関数メソッド・手続き)に与える入のことである。少なくともプログラミング業界では「いんすう」とは読まないので注意。

概要

多くのプログラミング言語では、繰り返し使われる処理を効率的に記述するためにサブルーチンを定義できる。関数を用いることで、プログラム中に何度も出現する処理の定義を1箇所にまとめることができる。

では、あるデータに対して同じような処理を行いたい場合はどうすれば良いだろう。例えば、ある商品の消費税を計算する処理は、値段が与えられればその値段に対して行う処理(ここでは値段の値を1.05倍すること)は同じである。このように、与えられたデータに対して同じ処理を行わせたい場合には、引数を用いてサブルーチンに入を与えることができる。

例えば、ある商品の値段を与えたら消費税を計算してくれるようなサブルーチン(関数shouhizeiは以下のように定義できる。(以下のコード擬似コード

sub shouhizei(price) {
    return price * 1.05
}

このように定義することで、任意の商品の値段に対して消費税関数shouhizeiを用いて計算することが可になる。ここでのprice関数shouhizeiの引数である。より正確に表現すれば、price関数shouhizeiの仮引数である。仮引数と対になるものとして実引数があり、これはサブルーチンに対して実際に与えられる引数のことである。例えば上記のshouhizei関数を、

shouhizei(2525)

で呼び出した場合、2525が実引数である。

値渡しと参照渡し

引数の渡され方には大きく分けて2種類有る。1つが値渡し、もう1つが参照渡しである。

値渡しは、実引数の値をコピーしてサブルーチンに渡す。よって、サブルーチンの中で仮引数の値を変更しても、その変更は実引数で与えた値に反映されない。しかし、実引数で与えた変数の値そのものを変更したい場合も考えられる。その場合、サブルーチンには変数の値が格納されている場所(アドレス)を与え、サブルーチン内でその場所の値を書き換えることによって、与えられた変数の値を書き換えることができる。この最も有名な(かつ悪名高い)例がC言語におけるポインタである。

一方、参照渡しは変数の場所に関する情報サブルーチンに渡すことで、変数の値そのものの書き換えを可にする方法である。簡単に言えば、変数の場所の値渡しを自動的にやってくれるようなものである。

オーバーロードと可変長引数

オーバーロード(多重定義)とは、引数のや個数が異なるサブルーチンを同一の名前で定義することである。例えばサブルーチンaddを

sub add(a, b) {
    return a + b
}

sub add(a, b, c) {
    return a + b + c
}

のように定義すれば、addはadd(2, 3)のように2つの引数を与えた場合でも、add(2, 3, 4)のように3つの引数を与えた場合でも正しく引数の和を計算することができる。更に、引数の個数が幾つであっても受け付けるようなサブルーチンを定義できるプログラミング言語もある。そのような仕組みは可変長引数と呼ばれる。

関連動画

関連商品

関連コミュニティ

関連項目

【スポンサーリンク】

スマホ版URL:
https://dic.nicovideo.jp/t/a/%E5%BC%95%E6%95%B0

この記事の掲示板に最近描かれたお絵カキコ

お絵カキコがありません

この記事の掲示板に最近投稿されたピコカキコ

引数

1 ななしのよっしん
2011/09/15(木) 16:31:30 ID: +E5C9etunZ
ピコカキコマクロ引数が使えたりする

タイトル:引数マクロでディレイ

twitterで紹介する

2 イカ
2014/02/21(金) 16:34:39 ID: bRRlEUC7IP
もうやだ
わけわからん
3 ななしのよっしん
2014/04/22(火) 01:29:32 ID: UhBQlaBmUn
関数というに格納するものかな
4 ななしのよっしん
2014/05/08(木) 16:01:31 ID: r1dv20J66w
いんすうとは読まないって書いてあるけど普通に読むんだよなぁ…
というか最近の人は意外といんすう、まあ普通ならどう考えてもいんすうだもんな
5 ななしのよっしん
2014/10/08(水) 00:19:35 ID: NOInlVsGNo
引数がひきすうって言ってるのはただ因数と読みが同じで数学の時に困るからって理由なんだよなあ・・
6 ななしのよっしん
2014/10/08(水) 00:26:10 ID: cK06fY4awg
をさくさんなまり、って読むようなものだね、さくさんえんだとと混同するし
こういう通則は残した方がいいと思うぞ、ケアレスミスで何かあってからじゃ遅い
7 ななしのよっしん
2014/10/08(水) 00:30:29 ID: HElY1G8S4C
オーバーロードは便利
というかないと仕事にならん
8 ななしのよっしん
2015/07/02(木) 10:25:26 ID: 0EUj+MSB5O
いちおうwikipediaさんは「いんすう」とも読む、って書いてるんだけどな
9 ななしのよっしん
2018/05/21(月) 00:01:47 ID: 2agrqMSlhj
化学をバケがくと読むようなもんか