- ベストアンサー
引数 戻り値 return文について
HogePiyoの回答
まず、関数とは何らかの処理をして結果を返してくれるものです。わざとらしい例ですが二つの数を足してその結果を返す関数を見てみましょう。 #include <stdio.h> int add( int hoge, int piyo ){ return hoge + piyo; } int main(void){ int data; data = add( 253, 434 ); printf( "%d", data ); return 0; } 見てわかると思いますが、引数とは関数内の処理に使うデータです。 このデータは関数を呼び出すときに与えます。 add( 253, 434 ) すると与えられたデータは関数に渡され仮引数と言うものに格納されます。 この例では hoge に 253、piyo に 434 が格納されます。 int add( int hoge, int piyo ){ この仮引数は普通の変数のように使うことが可能なのです。 hoge + piyo そしてこの結果を戻り値として return 文で返してやります。 return hoge + piyo; 返すとは具体的にどこへ返すのかと言うと呼び出したところへです。 ここでは main 関数内の呼び出し元です。 data = add( 253, 434 ); data と言う変数へは関数によって返された戻り値(関数値とか返却値とかとも言ったりします)が格納されます。つまり 253 と 434 を足した数です。 引数も戻り値も結局はデータです。処理させたいデータが引数で、処理した結果であるデータが戻り値です。 return は呼び出し元へ結果を返すためのものです。 C言語の関数にはいろいろな種類があります。 引数も戻り値もあるもの。 int add( int hoge, int piyo ){ return hoge + piyo; } 引数はあるが戻り値のないもの。 void add( int hoge, int piyo ){ printf( "%d", hoge + piyo ); } 戻り値はあるが引数のないもの。 #include <stdlib.h> #include <time.h> int getRandNum(void){ srand( time( NULL ) ); return rand() % 500; } 戻り値も引数もないもの。 void print(void){ printf( "%d + %d = %d", 253, 434, 253 + 434 ); } これらの使い分けはデータの内容や型、処理の内容により適宜必要なものを使ってください。
関連するQ&A
- return文がない場合の戻り値はどうなる?
C言語で、return文がない場合の戻り値を固定にする方法はないでしょうか?例えば、return文がない場合の戻り値は必ず0にする、というような動きにする方法が知りたいのです。c++では0を返すようです。。。よろしくお願い致します。
- 締切済み
- C・C++・C#
- プログラミングの返り値戻り値は必ずreturn文と
プログラミングの返り値戻り値は必ずreturn文とセットで使うんですか? returnがない時は返り値戻り値は使えないですか?
- ベストアンサー
- その他(プログラミング・開発)
- 引数と戻り値がわかりません
Javaを勉強中なのですが、引数と戻り値がよく分かりません。 自分で買ったテキストをベースに進めているのですが、ここで詰まってしまいます。 具体的に表現するのが難しいのですが、値がどこに行ってどういう流れになっているのかが 自分で追えず混乱してます。 public static method X (String name){ return name; ↑こういう記述です。 「値をとってくる」、「呼び出し元へ値を返す」という事が分かってないのだと思います。 まだまだ知識が覚束ないのでわかりにくいかもしれませんが、 ご教授願います。
- 締切済み
- Java
- 戻り値について
ただ今、c言語の勉強をしている者です。 本を読んでいて分からないところがあったので ご指導して頂ければと書き込みました。 それは、最初と最後のところです。 int main(void) { ・ ・ 処理 ・ ・ return 0; >int main(void) このintというのは 戻り値が整数だと言うことだと思うのですが 戻り値が文字の場合ということも あるということですか? 例えば、 char main(void) ということもあるのでしょうか? また、voidというのは 他の名前にしたらいけないのでしょうか? > return 0; というのは、 正常に終わったら戻り値を0にしろということですか? ご指導して頂ければと思います
- ベストアンサー
- C・C++・C#
- return 引数 がよくわからないです。
JAVAを勉強しているのですが、returnと引数がよく意味が分かりません。 returnをどういう場合につけて、どう付けると、どこに影響があって、どういう結果になるのか、がよくわかりません。 returnが付く場合と付かない場合の違いもよくわかりません。 引数については、()内に何も書かれなかったり、書かれたりの違いがわからないのと、()内に書かれている文字がどこに影響を与えるのか、とか、さっぱりわかりません。 詳しい方いらっしゃいましたら、わかりやすく教えてください。 よろしくお願い致します。
- ベストアンサー
- Java
- VBAでの戻り値と引数について
最近VBAでプログラムを勉強しています。 引数と戻り値について教えてください。 定義としては、 引数:プロシージャに渡される定数、変数、および式。 戻り値:呼び出し元に処理の結果を戻す値。 となっているのですがいまいちピンときません。 SubプロシージャとFunctionプロシージャでその違いがあると思うのですが、具体的にどれが引数でどれが戻り値なのかわかりません。 他のプログラミングも全く経験がない初心者で初歩的な質問ですみませんがご教授お願いします。
- ベストアンサー
- Windows系OS
- main関数の戻り値について
c言語において、main関数の戻り値は何を意味しているのですか。 また、void型にすれば、main関数の戻り値を書かなくても問題無いでしょうか。 また、関数はreturn文を書かなくても、最後まで処理を実行すると終了するらしいですが、void型にすれば、main関数でreturn文を書かなくても問題無いでしょうか。
- 締切済み
- C・C++・C#
- 関数の戻り値がextern
C言語を、他人のプログラム例を見ながら勉強を始めた者です。 ----- abc.h ----- extern char aaa(); (1) extern char bbb(); (2) ----- abc.c ----- char aaa() { char sw; (3) } char bbb() { char sw; return sw; (4) } Q1. (1)(2)は戻り値が外部変数ということでよいのでしょうか? YESとすれば(4)で自動変数のswが戻り値になっているのは何故でしょうか? Q2. (3)のbbb()では戻り値がvoidではないのに return文がないのは何故でしょうか? 初心者なので質問自体が変だったらスミマセン。
- ベストアンサー
- C・C++・C#