c-lang:アドレス
コンピュータには、メインメモリが必ずある。
プログラムは、メインメモリ上に存在する。
メモリはアドレスを持つ。
アドレスは、普通は 8ビットを一組にして、CPU毎に決まった数だけ番号を割り振ることができる。(CPUによっては、同じ番号を使いまわすこともできるが、今は考えない。)
たとえば、32ビットのアドレス空間は、約43憶個の番号を割り当てることができる。
プログラムは、メモリ上に並んでいる一番小さい命令の単位(機械語)の順番に実行される。
プログラムは、基本的にメモリ上のアドレスに載っている順番に沿って実行される。
条件分岐の命令は、別のアドレスにジャンプ(移動)することで実現している。
繰返しは、条件分岐の条件が成立するまで、アドレスを前に戻して、命令の実行を繰り返すことで実現している。
変数も、メモリ上にとられる。
つまり、変数にも、必ず、アドレスがある。
変数を書換えるということは、変数のアドレスのメモリの内容を書換えるということである。
この他に、変数のアドレスを書換えることによって、変数の内容を書換えたように見せることもできる。