[Powered by Google Translate] クリスGERBER：この関数は、内部の一連の手順です
通常呼び出されることを想定して大規模なプログラム、
複数回に複数の他の場所から
プログラム。
C関数を作成する場合、要件の1つはにある
戻り値の型を指定します。
最も単純なケースでは、呼び出し側の状況です
コー​​ドは、関数の結果とは関係ありません。
我々はデータを印刷しているとき、これはそうであるかもしれません
printf関数と同様に、ユーザーのディスプレイ、。
この場合において、我々は戻り値を宣言することができます
void型で。
voidを使用すると、単純にコンパイラに指示し、そのノー
値が返されます。
これはどのようなものか見てみましょう。
>> 我々はそのsay_helloと呼ばれる機能を持っていることを言うてみましょう
つの引数を取ります。
我々はそれを人の名前を渡すだろうし、それは挨拶を表示します
画面に表示されます。
名前はchar *型であることでしょう。
そして、我々は、引数としてそれを指定します。
私のアプリケーションは、それを印刷したかを知る必要がある場合、またはしていません
印刷された。
だから戻り値がvoid型になります。
この関数は、次のようなコマンドで画面に印刷することができます
のprintf（ "こんにちは、％sを\ n
"名）;
挨拶が表示され、制御が渡されます
呼び出し元のコードに戻る。
もう一つ注意すべきは、戻り値の型がvoidであるときということです
あなたはリターンを含める必要はありません
関数内のステートメント。
あなたがいずれかを含めるように選択した場合、戻り値が含まれていません
引数として渡されます。
>> いくつかのケースでは、それは返すために理にかなっている
関数からの値。
我々はadd_floatsという関数を書いていたとしましょう​​。
我々はそれに2つの引数は、両方の浮動小数点数を、通過します
第一および第二と呼ばれる。
それはそれらの浮動小数点数の和が何であるかを教えてくれる。
我々は、我々は一緒に2つの浮動小数点数を追加した場合、その結果を知っている
floatになります。
ことを考えると、我々は、floatの戻り値の型を選択します。
この関数は、このような計算を実行すると戻ります
リターンのようなステートメント内の値
第一+第2;
制御が呼び出し元のコードに戻された場合、
値が得られたことは今そのコードに利用可能です。
我々は次のようにこの値を格納することができます：float型の結果を=
add_floats（3.14、1.62
）;
この場合の結果は現在値4.76を含んでいるでしょう。
>> 念のため、浮動小数点値は不正確である。
これはドルを使用しており、財務計算だったので、もし
セント、我々はこのような正確なデータ型を考慮する必要があります
INTとペニーの計算を実行します。
>> 我々はから値を返すようにしたいであろうもう一つのケース
関数は、関数があった場合、我々は知っているしたい場合です
成功した。
それが成功しなかった場合、我々はまた、どのようなタイプの知りたいと思うかもしれません
エラーが発生しました。
我々は数えるために、ディスク上のファイルを開こうとしていると言ってみましょう
それの文字数。
ファイルを開くことができない場合、我々は止めることができるようにしたいと
問題についてユーザに通知します。
>> 私達は私達の機能count_file_charsを呼ぶことにします、それは意志
つの引数を取る。
我々は、使用してファイルの名前を渡します
char *のfilenameという。
この関数は、このように見えるかもしれません。
この例では、カウントに戻っ期待
0以上であること。
これは私達に負の整数を残す
センチネル値として使用します。
センチネル値は単にではない特別な値です
正当なデータではなく、情報を譲渡するものではありません。
ここで、私は、呼び出し元のコードに-1を返した場合、私は
実際にエラーが発生したことを示すメッセージを送信中
ファイルにアクセスしよう。
私はその後、私のかどうかを判断するために、その戻り値をチェックすることもでき
関数呼び出しが成功しました。
数値が0以上であった場合、私は知っているだろう
ファイル内の文字数。
しかし、数が0未満だった場合、私は単純に可能性
問題が発生していたことを印刷します。
考慮すべき一つのトレードオフは、すべて予約することによって、ということです
これがあると仮定してセンチネル値として負の値、
32ビット整数は、私は基本的に周りに取り去りました。
20億可能な戻り値。
>> 戻り値の型は、最も重要な要素の一つである
関数呼び出し。
うまくいけば、この短い概要は、考える助けた
3キータイプ：ボイド、結果値、およびセンチネル値、
とするとき3の各々はあるかもしれない
あなたのコード内の適切な。
見てくれてありがとう。