こんにちは、リバティエンジニア[?]のFUNA(フナ)です。
現役エンジニアとしてアプリケーション開発やWeb制作、SEOやブログ運営をしています。
今回は、C言語における戻り値と引数について解説していきます。
戻り値とは
C言語において関数を勉強していくと"戻り値(もどりち)"という言葉を目にすると思います。
※呼び方は人により違うかもしれません。"戻り値(もどりね)"や"返り値(かえりち)"など。
この戻り値を簡単に説明すると、関数を使ったときに呼び出した側に返す"値"のことです。
これだけではあまりよくわからないと思うので、詳しく見ていきましょう。
戻り値の返し方
戻り値の返し方や扱い方はプログラミング言語によって異なるのですが、今回はC言語における戻り値の返し方を説明していきます。
C言語では、関数内で"return"という文を使い戻り値を返します。
"return"文は、その関数を終了させる時に使いそれと同時に戻り値を返すことができるのです。
int TestMethode() { int a = 5; int b = 5; int answer = a + b; // 正しい戻り値の返し方 return answer; }
コードの記述はこんな感じです。
簡単に説明すると、"a + b"の答えを戻り値として返しています。
関数名(int TestMethode( ))の前についている"int"部分が戻り値のデータ型を示しています。
そのため今回のように"int型"の値を返す関数なのに、"char型”の値を"return"で返そうとするとエラーが出て関数が失敗するので注意してください。
戻り値の受け方
では次に戻り値を実際に取得してみます。
int TestMethode() { int a = 5; int b = 5; int answer = a + b; return answer; } int main () { int result = 0; // resultという変数を準備しておいて戻り値を受ける result = TestMethode(); }
たったこれだけなんですね!
これなら直感的で覚えやすいです。
"戻り値"について基本がわかったところで、次は”引数”についてみていきましょう!
引数とは
引数とは、先ほどからお話ししている"関数"に渡すことのできる値のことを指します。
例えば、先ほどの"TestMethode()"関数で言うと、この関数の中で"int a"の値と"int b"の値を決めつけて計算していました。
ですが、この"int a"の値が未定でいろいろな値を入れて関数を汎用的に使い分けたい。
このような場合など、いろいろな要望が出てくると思います。
そのたびに関数を作っていくのは無駄です。そんな時に、”引数”が大活躍します。
早速サンプルコードを見ていきましょう!
int TestMethode(int hikisu) { // 引数"int hikisu"を"int a"に代入する int a = hikisu; int b = 5; int answer = a + b; return answer; } int main () { int hikisu = 8; int result = 0; // 関数名の()の中に引数として渡したい値"8"を入れる result = TestMethode(hikisu); }
このように関数の呼び出し側は、関数名の()の中に渡したい引数を入れます。
関数側は、同じく()の中に受けたい引数を宣言します。
この時に戻り値と同じで、変数の型は同じにする必要がありますので注意してください。
また、今回は呼び出し元から関数に渡す引数の変数の名前と関数側の()の変数名は同じにしましたが、データの方さえ合っていれば変数名は別々にしても問題はありません。
// 引数はデータの型が合っていれば変数名は同じでなくてもOK! int TestMethode(int number) { // 引数"int number"を"int a"に代入する int a = number; int b = 5; int answer = a + b; return answer; } int main () { int hikisu = 8; int result = 0; // 関数名の()の中に引数として渡したい値"8"を入れる result = TestMethode(hikisu); }
まとめ
今回は、C言語における”戻り値”と”引数”について解説しました。
関数については、この記事で詳しく解説しているのでよかったら見てください。
C言語は基本のデータの型など覚えることが多く少し難しいかもしれません。
ですが、この基本を理解できるようになれば、びっくりするほどすらすらコードが書けるようになるので、最初少しだけ苦労するかもしれません。
最初に頑張れば、その先は楽しいことばかりなので一緒に頑張っていきましょう!
【結論】未経験でプログラミングの独学はぜんぜん可能