C言語

~はじめてのC言語~ 戻り値と引数について

こんにちは、リバティエンジニア[?]の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();
}

 

このように関数を呼び出して、呼び出し元で用意しておいた"result"変数に戻り値を格納しています。

たったこれだけなんですね!

これなら直感的で覚えやすいです。

"戻り値"について基本がわかったところで、次は”引数”についてみていきましょう!

引数とは

引数とは、先ほどからお話ししている"関数"に渡すことのできる値のことを指します。

 

例えば、先ほどの"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言語〜 関数について

 

C言語は基本のデータの型など覚えることが多く少し難しいかもしれません。

ですが、この基本を理解できるようになれば、びっくりするほどすらすらコードが書けるようになるので、最初少しだけ苦労するかもしれません。

最初に頑張れば、その先は楽しいことばかりなので一緒に頑張っていきましょう!

【結論】未経験でプログラミングの独学はぜんぜん可能

 

 

Kindle Unlimitedで無料で本が読める

 

Kindle Unlimitedを無料で試す

 

なら最初の30日間は無料でコーディング・デザイン・ブログ・英語・Youtubeの参考書・キャリア・副業・マーケティング・漫画・美容知識・雑誌などが読み放題です。

人気の本もあるので是非お試ししてみてください!30日以内に解約すればお金は全くかかりません。

 


最近の投稿

【今すぐ行動しよう】フリーランスエンジニアとブログの相性は抜群!

フリーランスエンジニアがスキルや経験から得たビジネスノウハウを共有する手段として「ブログ」は非常におすすめです。自身のスキルや知識のアウトプットや、実際に自分が経験したことを共有して同じような境遇の人の手助けになるような情報を公開することで自分に帰ってくるメリットは非常に多いです。今回はそのあたりについて紹介していきます。

【経験談】フリーランスのエンジニアは本当に大変なの?安定のコツやポイント

フリーランスのエンジニアは「大変だからやめとけ」という話をよく聞くので、そのことについて現役でフリーランスエンジニアとして生活している私が、その話の実態を解説しようと思います。フリーランスエンジニアの大変なところはもちろんありますが、それ以上にメリットが多いので私個人的には非常におすすめしています。

【幸福度UP】フリーランスエンジニアの「田舎暮らし」実現できます

フリーランスエンジニアとして田舎で暮らす人が増えてるって聞くけど、本当なのかな?どうやったら実現できるのか?今回はフリーランスエンジニアとして田舎で生活をしたいという方向けに、実現可能なのか、実現するにはどうすれば良いのかをご紹介します。

【単価交渉で収入アップ】フリーランスが単価交渉を成功させる4つのポイント

フリーランスが収入をアップさせるための重要な手段のひとつに「単価交渉」があります。今回は、現役でフリーランスとしてエンジニアをしている私が実践して効果のあった単価交渉の方法やコツをご紹介します。

【 今なら無料!】タスク管理ツール「Backlog」を無料で使う方法と手順

今回は、普段のタスク管理からプロジェクトの管理まで幅広く使えるツール「Backlog」を無料で使うための方法とその手段を画像つきで紹介しました。もし気に入らなければ、期間内に解約してしまえば費用はかかりません。また、以外と知られていない「フリープラン」も紹介しているので、是非参考にしてみてください。

Copyright© FUNA BLOG , 2021 All Rights Reserved.