📜 プログラムとは何か
🎯 CPUとメモリの役割分担を机の比喩で説明でき、メモリが「番地つきのロッカー」であることを理解する
コンピュータの中には無数の部品がありますが、プログラムを学ぶうえで主役は2つだけです。CPUとメモリです。
机で作業する場面を思い浮かべてください。
作業する人は、机の上に出ているものしか直接いじれません。引き出しの中身を使いたければ、まず机に出す必要があります。プログラムやデータが「起動」するとき、実際にストレージからメモリへ運ばれています。

メモリは番地つきロッカーの列
メモリの中身をもう少し細かく見ましょう。メモリは、同じ大きさの小さな箱が一直線にずらりと並んだものです。ちょうどコインロッカーの壁のようなイメージで、箱1つは1バイト(0〜255の数を1個入れられる大きさ)です。
そして重要なのは、すべての箱に通し番号が振ってあるという点です。0番、1番、2番……とすべての箱に番号があり、この番号をアドレス(番地)と呼びます。CPUは「1024番地の値を持ってこい」という言い方でメモリを使います。名前ではなく番地で呼ぶ、これがメモリの世界の流儀です。
この「番地」は、第2部のポインタで主役になります。今の段階では、メモリの箱には名前ではなく番号がついているという絵を頭に入れておくだけで十分です。C言語で int a; と書くとき、実際には空いているロッカーを1つ確保して、そこに a という呼び名を貼っているだけ、という見方ができるようになります。
数の感覚もつかんでおきましょう。「メモリ8GB」のパソコンなら、箱がおよそ80億個並んでいることになります。文字1つがだいたい1〜3個の箱を使うので、80億個というのは相当な広さです。それでも、写真や動画を何十枚も開けばすぐ足りなくなります。机が広いほど、同時にたくさんの作業を広げられる——メモリを増やすと動作が快適になるのは、そういう理屈です。
電源を切ると机の上は消える
メモリのもう一つの性質は、電源を切ると中身がすべて消えることです(揮発性といいます)。作業中の書類は、机の上に置きっぱなしでは残りません。だからファイルに保存する、という操作が必要になります。
なお、CPUの内部にはさらに小さくて速い置き場(レジスタ、キャッシュ)があります。作業する人の手のひらと手元のメモ帳のようなものです。今は「CPUの中にも、ごく少量の超高速な置き場がある」とだけ知っておけば十分です。速い置き場ほど小さく、大きい置き場ほど遅い——この関係はコンピュータのあらゆる場所に現れる法則で、プログラムの速さを考えるときの基本になります。
コンピュータの頭脳にあたる部品。メモリから命令とデータを取り出し、計算や判断を行って結果をまた書き戻す仕事を、目にも止まらぬ速さで繰り返している。現代のCPUは1秒間に数十億回もこのサイクルを繰り返している。
プログラムやデータを一時的に保管しておく場所。番地(アドレス)のついた小さな箱がずらりと並んだ、巨大なロッカーのような構造をしている。電源を切ると中身が消えてしまう、いわば一時的な記憶場所にあたる。
もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。