配列の添字は「荷物タグ番号」で考えるとわかりやすい

プログラミング初学者がつまずきやすいポイントのひとつが

「配列の添字(インデックス)」 です。

特に、

  • なぜ 0 から始まるのか
  • 配列[0] や 配列[1] が何を指しているのか

が、頭の中でイメージしづらいという声をよく聞きます。

そこで今回は、夜行バスのトランクに積み込まれる荷物 を例にして、配列の添字を直感的に理解してみましょう。


夜行バスのトランクと荷物タグのイメージ

夜行バスに乗るとき、トランクに荷物を預けますよね。

そのとき係員さんは、荷物ひとつひとつに 番号付きのタグ を付けます。

例:

  • 大阪行き(1)
  • 大阪行き(2)
  • 大阪行き(3)
  • 大阪行き(4)

この番号付きタグには、重要な役割があります。

  • どの荷物が何番目か
  • 取り出すときに迷わない
  • 同じ行き先でも区別できる

これは、まさに 配列と添字 の考え方と同じです。


配列とは「順番に並んだ荷物置き場」

プログラミングにおける配列は、次のようなものです。

同じ種類のデータを、順番に並べて管理する仕組み

夜行バスの例で言うと、

  • トランク全体 = 配列
  • 個々の荷物 = 配列の要素

になります。


添字(インデックス)は「荷物の番号」

ここが一番大事なポイントです。

配列では、

各要素に「何番目か」を示す番号 が付いています。

これが 添字(インデックス) です。

夜行バスの例

荷物タグ
1つ目の荷物大阪行き(1)
2つ目の荷物大阪行き(2)
3つ目の荷物大阪行き(3)
4つ目の荷物大阪行き(4)

人間は自然に「1番目」から数えます。


でもプログラムでは 0 から始まる

最初に注意

試験では「1 から始まる」指定が出ることがあります

※ このブログでは、理解しやすさを優先して

プログラミング言語で一般的な

「配列の添字は 0 から始まる」 例を中心に説明します。

ただし、基本情報技術者試験(特に科目B)では

  • 配列の添字が 1 から始まる と明記されている
  • 問題文中で「配列 A[1] ~ A[n]」のように 範囲が指定される

といったケースが 普通に出題されます

その場合は、

問題文に書かれている添字のルールが最優先

です。

プログラミング言語(C / Java / C# など)では、

配列の添字は 0 から始まる のが一般的です。

夜行バスの荷物を、プログラム的に見るとこうなります。

添字荷物
0大阪行き(1)
1大阪行き(2)
2大阪行き(3)
3大阪行き(4)

つまり、

  • 配列[0] → 一番最初の荷物
  • 配列[1] → 2番目の荷物

になります。

人間の感覚と 1つズレる のが、最初のつまずきポイントです。


なぜ 0 から始まるのか(深追いしなくてOK)

理由を簡単に言うと、

  • メモリの先頭位置からの ずれ(オフセット) を表している

のですが、

初学者の段階では無理に覚える必要はありません

まずは、

「最初の要素は 0 番」

と ルールとして受け入れる ことが大切です。


取り出す=添字を指定する

夜行バスで係員さんが荷物を取り出すとき、

  • 「3番の荷物を出してください」

と言われたら、迷わず該当の荷物を取れますよね。

プログラムでも同じです。

配列[2]

と書けば、

  • 0 → 1つ目
  • 1 → 2つ目
  • 2 → 3つ目

つまり 3番目の要素 が取り出されます。


まとめ:配列の添字は「荷物タグ番号」

最後に整理します。

  • 配列 = 夜行バスのトランク
  • 要素 = 預けた荷物
  • 添字(インデックス)= 荷物に付いた番号
  • 最初の添字は 0

このイメージが頭に浮かべば、

  • for 文での繰り返し
  • 最大・最小の探索
  • ソートアルゴリズム

といった 基本情報技術者試験のアルゴリズム問題 も、

かなり理解しやすくなります。


訪問数 20 回, 今日の訪問数 21回