int i の i ってなあに?

 ちょっと前に表題の質問を受けました。更にアクセス解析を見てると同じ質問でGoogleから飛んできてる人が少なからずいたのでお答えします。
 C言語なんかでプログラミングしてるとループカウンタとかでよく見る int i なんですが、回りのプログラマの皆様に聞いてみたところ、多くの人が「int の i なんじゃないの?」と返されました。なるほど確かに int の一時変数なんだから適当に int の頭文字でいいやというのもあるかもしれません。実際の由来も似たような発想なのである意味で正解でしょう。
 しかし実際にはこれC言語以前に発祥が確認されてます。
 今有力とされている由来としては、Fortranの整数型変数を宣言する為の規則が I で始まる識別子であることから来ています。Fortranが最もさかんに使われていた時代や環境では、長い識別子をサポートしていなかった為、識別子の長さも識別子のバリエーションを増やす為に利用されていたそうです。なのでとりあえずループカウンタに整数型が欲しいな程度の物に長い意味のある識別子を使うのはご法度だったので、ループカウンタには I を使うという慣習が出来たようです。
 ちなみにこの逸話はエキスパートCプログラミングにも載っています。このトピック以外の話題も為になる本なので、興味のある方はご一読してみては如何でしょうか。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA