今回は関数の書き方をやります. 例えば, main() と言うのは関数ですし, これまでに用いた, printf(), fgets(), sscanf() も関数です. 関数と言うのは, 通常は変数 (プログラミングでは引数と言う)を 受け取ってその値から別の値を計算して出力するものですが, C 言語では printf の様に計算機に何らかの操作を与えるものも関数と言います. printf(), fgets(), sscanf() 等を使う時に ( )の括弧の中にあるものは, 引数 と言われます. printf 等は, 画面に文字列を表示すると言う事以外に, 実は値を返しています. これまでのプログラムでは, その値を使っていないだけです. どのような値を返すかは, man コマンドで調べる事ができます.
なお, 関数は数学のように何らかの処理をして値を返すという 行為を実現するためだけに使うものではありません. 実際のプログラミングでは, それよりもプログラムの処理を適当な 大きさの単位に分割するという目的で主に使います. 人間が一度に把握できる内容は, 概ね画面に表示可能な量の情報であると 経験上知られており, それ以下の単位に処理を分割するというのは, 大きなプログラムを間違いなく書くための基本的なテクニークです. 今日書くプログラムも, 関数を使わずに実現する事が可能ですが, 実際には今日のようにプログラムする方が良いわけです. これは, 構造化プログラミングのための仕組みの一つです.