人生最悪の忘れ物

はじめまして。大学で『基本アルゴリズム』という講義を受けているものです。基本アルゴリズムを受け始めて約2ヶ月経つのですが、未だに『返す』という言葉の意味がわかりません。ポインタによる実現のところで『ポインタを返す』とか『セルの内容を返す』とか頻繁に出てきますが、『返す』っていうニュアンスがよくわかりません。わかりやすくいうとどういうことなのでしょうか??教えていただけると幸いです。

A 回答 (7件)

この『返す』のニュアンスは、


「借りたものを返す」ではなく、
「呼びかけに応じて返事を返す」の
『返す』です。
    • good
    • 14
この回答へのお礼

非常にわかりやすい回答をしていただきましてありがとうございました。ようやくスッキリしました。

お礼日時:2006/12/02 12:06

★アドバイス


・短いですが『返す』とは『結果』を処理元に『返す』ということだよ。
・『返す』以外に『関数』という言葉が出てきますが、処理するパーツのようなもの
 と理解しましょう。『関数』=『サブルーチン』とも呼んだりします。
・よって、『ポインタを返す』とは、処理元に処理した結果をポインタで返す。
 『セルの内容を返す』とは、処理元に処理したセルの内容を結果として返す。
・最後に、たくさんの回答者さんの意見を参考に『返す』のニュアンスを理解しましょう。
    • good
    • 3

y = f(x)


は,数学で知っていると思います。

プログラムの世界では,これを
関数fはxを受け取って,計算結果を返し,その結果はyに代入される。
と言います。この「返す」と理解してください。

もう少し,専門的に言うと,
「fは,引数xにより処理を行い計算結果を返す関数である。
 返された値は,yに代入されます。」

この「値」がポインタだったり,セルの内容(データ)だったり
するわけです。
    • good
    • 7

具体例を挙げます


たとえば、数学の問題。
3+2
この答えは5ですが、プログラミングの話になると、「この演算処理は5を返す」と表現することがあります。
同様に、関数では
f(x) = 3x + 2
とあった場合、
f(5) は、3*5+2=17で、17という値になりますが、これは、「f(5)は17を返す」となります。
f(x)という関数に、5という値を渡して、計算してくれた結果を返してもらう、と言うニュアンスです。
    • good
    • 3

関数の戻り値など、呼び出された側が呼び出した側に情報を渡すことを言っていると思います。


下記の例では、「関数abcは、1 と 2 と 3 を返している」 と言います。

int nnn;
int abc( int *n )
{
nnn = 1;
*n = 2;
return 3;
}
    • good
    • 0

関数の戻り値を設定すること。


もしくは、その戻り値でreturnすることをいいます。

int sub1
{
  return 3;
}
int main()
{
ret = sub1();
}
sub1 は3を返しています。
    • good
    • 0

メインプログラムが動作し、関数(サブのプログラム)に対して


ある数値やポインタ値を要求します。
(メインプログラムが動作を一時止めて、サブプログラムが動作します。)
サブプログラムは、求められた値を所定の場所に格納し、動作を終了します。
メインプログラムが動作し、格納された値を読み取ります。

メインプログラムがサブプログラムに値などを要求し、
サブプログラムはそれに応えて値を作って渡します。

要求に応えるこの動作を「(値を)返す」と称しています。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報