2007年07月23日
川俣晶の縁側技術関連執筆情報 total 2262 count

みんな納得! のっけからC言語 第3回 プログラムが自ら動作を変える条件判断処理の書き方

Written By: 川俣 晶連絡先

 日経BP発行の日経ソフトウェア2007年9月号(7月24日発売)に拙著の下記記事が掲載されています。

みんな納得! のっけからC言語 第3回 プログラムが自ら動作を変える条件判断処理の書き方

 ちなみに、日経ソフトウェアは、他の日経を冠する他のパソコン関連雑誌と異なり、普通の書店で購入できます!。売れ筋パソコン雑誌の1つなので、割と多くの書店で見かけます。お手にとってご覧下さい。

ポインタの難しさとは何か? §

 本文に書いた通り、私にとってポインタは何ら難しいものではありませんでした。

 アセンブラでプログラムを書いていれば、それは当たり前のコードを実現する手段でしかありません。

 しかし、それにも関わらず難しくなる理由は次回の「仕組みから理解するC言語」のコーナーで取り上げます。

 ちなみに余談ですが、ptr++のような表記を邪道として絶対に認めない(++ptrと書くことを強要)トンデモCプログラマが割と多いような印象を最近受けます。

 アセンブラの感覚で言えば、ptr++はポストインクリメント、--ptrはプリデクリメントであって、ありきたりのアドレッシングモードそのもの(数値計算ではない)なのですけどねぇ。

 グローバルオプティマイザが当たり前になって以後は、Cのソースから生成されるアセンブラのコードが透けて見えなくなった結果として、バイナリレベルのリアリティから乖離した「思い込み」が一人歩きしているのかも。

 ちなみに、私も昔は「俺的タブー」というのをいくつも持っていましたが、最近、それは間違っていると思うようになりました。とりあえず、最近の私の考え方は、Cの言語仕様上許された構文は全てCとして正しい……というものです。その範囲内の書き方の優劣を付ける議論を行うことは時間の無駄であり、そんな暇があったら1行でも多くコードを書く方が建設的だと思います。