わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

書き順

「書き順」といっても,漢字ではありません.プログラム一般です.とはいえC言語に限定しておきます.
関数を作るときは,(1)関数名,(2)戻り値の型,(3)引数の順に決めましょう.
例えば,単純選択法をする関数を作るなら,まず

selection_sort

と,関数名を書きます.ついでに,引数を書くための丸カッコと,関数本体を書くための中カッコも,つけておきましょう.

selection_sort()
{
}

カーソルを,関数の最初の「s」に戻しておきます*1.次に決めるのは,戻り値の型です.ここでは値を返す必要も特にないので,voidとしましょう.

void selection_sort()
{
}

最後に,引数です.ソートの対象は,あらかじめ配列に格納されているとします.それぞれの要素はintとしておきましょう.さて,配列そのものをコピーできないので,かわりに関数では,ポインタで(配列の先頭アドレスを)受け取ります.こうですね.

void selection_sort(int *array)
{
}

ここの「array」は変数名です.呼び出し元と同じ変数名にするのもいいでしょう.呼び出し元と,呼び出される関数とでは,変数の有効範囲が異なりますので,同じ名前をつけても,別のオブジェクトになります.
読む上では,書いてある順番,つまり(1)戻り値の型,(2)関数名,(3)引数の順と読むことになりますが,「読む」と「書く」とは違うことなんだと割り切り,本の記述や手書きのメモを書き写すのでない限り,ここに記した順番で,関数を書いていくといいでしょう.
この話題について,余談をふたつ.

  • プログラムの書き順を指導する先生はめったにいないと思いますが,卒業論文なら(先輩の卒論を読んで参考にするという前提で),先頭から書くんじゃないよ,本文中盤の,手法から書いていきなさい,と教わるはずです.
  • プログラムの入門書の中で,書き順まで指導しているものは,ありますかね? Cでは見たことがないですが,SQLでは,『すらすらと手が動くようになるSQL書き方ドリル』という本があります.

*1:もう20年くらい前の話ですが,父の仕事を手伝っていて,巻尺の0mのところを,トラックの「最大積載量」のサイの字に合わせろと父から指示され,「最」のところに合わせてじっとしていたら,父から,そこじゃない,「載」の字や,と叱られたことがありました.