”本気で”エンジニアを目指すなら『TECH BOOST』キャリアから逆算された講座内容で、あなたの未来をサポートします!

【C言語超入門(第31回)】関数を作ってみよう

Pocket

C言語のプログラムは、いくつもの関数を寄せ集めて、一つのプログラムとして作り上げていくことができます。

C言語には、あらかじめ便利な関数が用意されています。

例えば、文字をディスプレーに出力するprintf関数や、キーボードから文字列を入力する gets関数 などは、
C言語にあらかじめ用意されている関数のひとつです。

また、C言語では、標準で用意されている関数を使用するだけではなく、プログラマーが自由に関数を作ることもできます。

関数を作ることで、
・ プログラムの処理の流れが分かりやすくなる
・ 作成したプログラムの再利用が容易になる
・ プログラムの管理がしやすくなる
などのメリットが得られます。

そこで、今回のC言語超入門では、関数の作り方の基本について解説していきます。

関数の基本構成

C言語における関数の基本形は次のとおりです。

以下に、関数を構成している「関数型」「関数名」「引数」「変数宣言」「実行文」の5つについて、それぞれ解説していきます。

1. 関数型

関数型とは、関数内で処理をした結果を返すデータ型のことで、変数のデータ型と同じです。

例えば、倍精度実数型の関数型を定義するには、次のように記述します。

なおデータ型については「【C言語超入門(第14回)】基本的なデータ型を知ろう」で解説していますので、ご参照くださいませ。

2. 関数名

関数名は、他の関数や変数と重複しないよう、プログラム内でユニークな名前をつけます。

関数名をつけるときは、関数の持つ意味が分かるように命名しますと、後々のプログラムのメンテナンスが楽になります。

開発環境によっては、関数名の長さが31文字までという制限が設けられている場合もありますが、
大抵の開発環境においては、関数名は200文字以上で表すことができます。

ですから、関数を作るときは、関数名の長さを気にせず、できる限り分かりやすい命名をすることを、オススメします。

3. 引数

引数には、関数に値を渡すために、その値のデータ型と名前を記述します。

引数は、関数を呼び出す側、関数の定義側の双方で記述しなければする必要があります。

関数を呼び出す側の引数のことを「実引数」と言い、次のように記述します。

上記のとおり、実引数は変数だけでなく、値を記述することもできます。

一方で、関数の定義側の引数は「仮引数」と言い、次のように記述します。

仮引数で定義した変数は、その関数内でのみ、使用することができます。

なお、引数を必要としない関数の場合は、次のように、引数の記述を省略できます。

4. 変数宣言

変数宣言では、関数内で使用する変数を宣言します。

ここで宣言した変数は関数内だけで有効になる関数内ローカル変数です。

そのため、他の関数内で宣言している変数名と重複していても、お互いが独立した変数として扱われます。

例えば、関数を2つ作成して、双方に同名の変数名で変数宣言をした場合であっても、
お互いの変数は独立した別々の変数として扱われます。

5. 実行文

実行文には、その関数で処理をする目的となるプログラムを記述します。

関数という名前から、数値を計算する処理をイメージするかもしれませんが、
関数の実行文に記述する内容に特段の制限はありません。

例えば、文字をディスプレーに出力するだけの関数を作ることも可能です。

5-1. 関数の結果を返すreturn文

なお、関数の呼び出し元に実行文で得られた結果を返すには、return文を使います。

return文は、以下のとおり記述します。

式には、変数や値を記述します。

このとき注意していただきたいのは、式のデータ型は、「1. 関数型」の定義と一致させる必要がある、ということです。

関数型がdouble型であれば、return文の式もdouble型にします。

なお、式は括弧でくくることも可能です。

式を括弧でくくっても、くくらなくても、どちらでも動作しますので、あなたの好みで決めれば良いでしょう。

なお、プログラマーとして所属する組織や、参加するプロジェクトによっては、
記述ルールが定められている場合があります。

もし記述ルールが定められているときは、そのルールに従ってください。

5-2. return文は複数箇所で使用できる

return文は、ひとつの関数内で複数の箇所に記述することができます。

関数の処理を実行中にreturn文が実行された時点で処理が中断され、関数の呼び出し元に処理が移動します。

例えば、以下のプログラムでは、変数xの値がマイナスのときにreturn文を実行して関数の処理を中断しています。

5-3. return文の式は省略できる

関数の呼び出し元に結果を返す必要がない場合は、以下のとおりreturn文の式は省略することができます。

C言語超入門の第31回まとめ

今回のC言語超入門では、関数の作り方の基本について解説いたしました。

関数を作らなくてもC言語のプログラミングは可能です。

でも関数を使うことで、プログラムの処理の流れが分かりやすくなる、作成したプログラムの再利用が容易になる、
プログラムの管理がしやすくなる、などのメリットを享受できます。

効果的・効率的なプログラミングができるよう、ぜひ関数の作り方をマスターしてください。

ステップ・バイ・ステップ。焦らず一歩ずつ進んでいきましょう。

投稿者:プロナビ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

プログラミングで挫折しそうなら、現役エンジニアにマンツーマンで相談してみませんか?オンラインのプログラミングスクール「TechAcademy」のメンターが対応。

この記事が気に入ったら
いいね!しよう

プロナビの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る