マルチスレッド版数独自動生成ソフトC++コードを題材とする超初心者のためのVisual Stadio C++講義
第2章 変数って何?
第1話 変数を箱と比喩することの本当の意味
第1章第1話で書いた通り、
変数や関数について苦手だった方は、
変数を勉強しなければならなの、
挫折しそう、
などと考えているかもしれませんが、
変数も関数もとても簡単です。
変数は整数値・実数値・文字などを入れる箱にすぎません。
そして、プログラムの単位(細胞)を関数というのです。
ですから、関数のから始める手もありますが、
現時点では関数に入れる内容がありませんので、
変数→for文→if文→配列(複数の変数)→ポインタ
(配列の一種だと今の時点では考えてくださってよいと思いますが、
実は変数や関数のアドレスを代入できる極めて大事なものです。
)
変数も関数(社員)も役者だと考えてください。
彼らが働く舞台は広大です。
それはメモリです。
メモリはメモリーと書いていただいても大丈夫です。
一説によると理系の人たちはメモリと書き文系の人たちはメモリーと書くそうです。
メモリについてはその説があっているかは知りませんが
コンピュータという表現は理系出身者が多いし、
コンピューターという表記は文系出身者が多いと思います。
いずれも好みの問題でどちらでも構いません。
コンピュータを使いこなしている人でもコンピュータの仕組みは、
わかっていない方も沢山いらっしゃるのではないでしょうか。
ExcelやWordと使っているぐらいなら仕組みなど知らなくても済みますが、
プログラミングをするときにはある程度の知識は必要です。
必要な範囲で折に触れて説明していきますが、
コンピュータの性能を決める3大要素はCPU・ハードディスク・メモリです。
実は、ハードディスクとメモリはいずれも記憶装置です。
違いはハードディスクは円盤に情報が書いてあるものなのに対して、
メモリの方は半導体です。
どちらがアクセス速度が速いかと申しますと、
圧倒的にメモリです。
ハードディスクが円盤の回転によってアクセスしていて、
速度に限界があり、
それに対して半導体メモリは電子の速度=光の速さで動くからです。
なら、ハードディスクなど置かずに巨大なメモリにすればよいではないか、
考える人はセンスのある方です。
ですが、メモリはハードディスクと比べて圧倒的にアクセス速度が速いですが、
もう一つハードディスクを圧倒しているものがあります。
コストです。半導体メモリ性能によって能力は様々ですが、
基本的には

といった感じだそうです。これは今Copilotに教えていただき引用しました。
Copilotは使える方がよいので次話で、Copilotを使用するにはどうしたよいかを説明します。
メモリは現在は32GBでも4万円ですが、
私がパソコンを使い始めたころ(36年ぐらい前)は、
5MBで10万円を超えていました。
1GB = 1024MB ですから、32GB/5MB=32×1024MB/5MB=6,553.6
の計算から容量比は6,553.6倍で
10万円と4万円の比が2.5倍でコスト比は6553.6×2.5=16384倍で、
価格はおよそ1/1.6万になった計算になります。
ですから、32GBが如何に巨大なメモリであるかがわかると思います。
そして、変数という役者も関数という役者もいる場所=メモリアドレスが与えられているのです。
変数とは箱と比喩してきましたが、
メモリ上に一定容量のアドレスが与えられそこに値が書き込まれます。
関数もメモリ上にアドレスが与えられ、そこで踊ったり演じたりするのです。