配列の添字は「荷物タグ番号」で考えるとわかりやすい
プログラミング初学者がつまずきやすいポイントのひとつが
「配列の添字(インデックス)」 です。
特に、
- なぜ 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 文での繰り返し
- 最大・最小の探索
- ソートアルゴリズム
といった 基本情報技術者試験のアルゴリズム問題 も、
かなり理解しやすくなります。



ディスカッション
コメント一覧
まだ、コメントがありません