タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

programming languageとprogrammingとhistoryに関するkgbuのブックマーク (1)

  • 配列の先頭要素が「0番目」であることは気持ち悪いか…「N番目」という言葉を考察してみる - http://rubikitch.com/に移転しました

    JavascriptPHPの配列や関数などで 配列の最初の要素がary[0]に… - 人力検索はてな C言語、Ruby、Lispなど多くの言語では配列は0起点である。つまり、先頭の要素のインデックスは0である。 なぜそうなっているか‥それは実装上の都合であったり歴史的理由だったりする。 C言語の配列は「連続したメモリ空間の、先頭アドレス」で表現している。そして、オフセットを進めることでそれぞれの要素にアクセスしている。だから配列の最初の要素を「0番目」とすることでアドレス計算が楽になるわけだ。 多くの言語はC言語の文法を拝借しているし、C言語は十分普及しているから、「C言語にあわせて配列は0起点でいいや」となっていると推測している。コンピュータの世界じゃ歴史的理由ってのがけっこう多い。 そういうわけでプログラマが配列の要素を数えるとき、勝手に「0番目」→「1番目」→「2番目」と数えている

    配列の先頭要素が「0番目」であることは気持ち悪いか…「N番目」という言葉を考察してみる - http://rubikitch.com/に移転しました
    kgbu
    kgbu 2008/05/25
    「番目」はcarとかsuccだけしか持たないクラスのアクセサにのみ適用されるのだ。配列のindexのメソッドがそれに無条件でしたがう理由は無い。とか、考える人もいるんだろうか(笑
  • 1