• ベストアンサー

プログラミングで関数を渡すとはどういう意味ですか?

プログラミングで関数を渡すとはどういう意味ですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • _kappe_
  • ベストアンサー率68% (1523/2217)
回答No.6

この質問者さんはまだプログラミングの初学者であり、既についている回答の多くは高度すぎて残念ながら内容が全く伝わっていないだろうと思います。 質問者さんは「関数を渡す」という表現をどこで見たり聞いたりしましたか。そのような言い回しはしないのが普通です。 多くの場合、プログラミング言語において関数は「呼ぶ」とか「実行する」ものです。そしてそのときに引数を「渡す」のです。 別の質問https://okwave.jp/qa/q9944057.htmlに出ていた例を使えば、cal(6)は「calという名前の関数を呼ぶ(実行する)、その際に引数として6という数値を渡す」という意味です。 https://okwave.jp/qa/q9943228.htmlのsay_hello("Good morning")の場合なら「say_helloという名前の関数を呼ぶ(実行する)、その際に引数として"Good morning"という文字列を渡す」となります。 なお、上記の例ではcalもsay_helloも引数の数はどちらも一つですが、二つ以上の引数を必要とする関数もありますし、逆に引数を必要としない関数もあります。 他の回答に例が上がっているとおりプログラミング言語によっては引数として関数を渡すことができる場合があります。しかし、混乱するだけなので初学者の段階では学ぶ必要はありません。「関数を渡す」は一回忘れてください。 繰り返しますと、覚えるべき表現は「関数を呼ぶ(実行する)」「引数を渡す」です。

okwaveokw
質問者

お礼

ありがとうございます そのとおりでございます 初心者用の動画と書いてあるのに説明をしてくれないので ここで質問しています 結構苦痛です笑

その他の回答 (6)

  • hiodraiu
  • ベストアンサー率15% (448/2823)
回答No.7

そのままの意味です。 関数を別の関数に渡して、その関数から渡した関数を呼んでもらったりできる言語があります。

okwaveokw
質問者

お礼

ありがとうございます

  • f272
  • ベストアンサー率46% (8023/17148)
回答No.5

わたしなら,関数を渡すと言われれば double (* func[4])(double)={sin, cos, exp, log}; と定義しておいて func_add(x1, x2, func[n]); というふうに呼び出すのをイメージします。 nの値によってfunc_addの中で使う関数が変化します。

okwaveokw
質問者

お礼

ありがとうございます

  • t_ohta
  • ベストアンサー率38% (5085/13292)
回答No.4

コールバック関数を他の関数に引数として渡す場合は「関数を渡す」と言いますね。

okwaveokw
質問者

お礼

ありがとうございます

  • watanabe04
  • ベストアンサー率18% (295/1597)
回答No.3

次の関数に値を渡すのです。 func(a,b,c)というふうに。 このaが値だったり、アドレスだったり、関数アドレスだったりします。

okwaveokw
質問者

お礼

ありがとうございます

  • tetsumyi
  • ベストアンサー率26% (1858/7097)
回答No.2

関数〈サブルーチン)を呼び出すと言った方がいいでしょう。 https://e-words.jp/w/%E3%82%B5%E3%83%96%E3%83%AB%E3%83%BC%E3%83%81%E3%83%B3.html プログラミング以外では決まった手順、ルーティーンと言いますが。 前もって決まった処理を実行したい場合に名前を定義した一連の処理を呼び出すのですが変数に数値を入れて渡す〈引数を渡す)と処理を実行したり答えを返してくれます。 例えばsin(x)に数値xを入れてやるとその答えを返してくれる(戻り値)と同じような物です。戻り値がない場合は終了したとして1を返す。 数値は一つでなくて処理に必要ないくつか決められた数(x,y,z等) となることが多い。

okwaveokw
質問者

お礼

ありがとうございます

  • watanabe04
  • ベストアンサー率18% (295/1597)
回答No.1

https://www.geekpage.jp/programming/c/func-pointer-arg.php 値渡しとアドレス渡しは理解できますか? 関数のアドレスを渡して実行させるのです。

okwaveokw
質問者

お礼

入れることを渡すと言っているんですかね?

関連するQ&A