...山本昌志1
独立行政法人 秋田工業高等専門学校 電気情報工学科
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 集まりに分解できる2
複雑なものを機能毎に分解するのは,プログラムのサブルー チン(関数)の考え方とおなじである.複雑なものは,このようにモジュール単位に分割し て考えるのは常套手段である
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... は32ビットで表現されている3
CPUによりアドレスの表現は異なり,32ビットで はないものもある.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...図を見て分かるとおり,2進数の表現は桁数が多くて人間にとって大変である4
コンピューターにとっては,桁数が多くても,二進数の方が取り扱いやすい
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... のアドレスバスとデータバスを見よ5
実際のCPUではアドレスバスとデータバス の本数はこの図と異なる.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... と代入する.しかし,これはコンパイラーにより警告が出され,推奨される方法でない6
キャスト(強制型変換)を使って警告を消すこともできるが邪道である.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...ポインター変数7
たんに,「ポインター」と呼ぶことの 方が多い.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...間接参照演算子8
教科書では, 「間接演算子」と記述している.どちらでも同じである.ただし,間接参照演算子と言う 方が詳しく意味を説明しているので,ここではこちらを使う.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... ポインター変数は,アドレスを格納する変数である9
正確に言うと ちょっと違うが,ほとんど正しい.また,アドレスはメモリーの物理的なアドレスでは なく,仮想アドレスである.この辺のところは余り気にしないことにする.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 符号なし整数にしている10
強制型変換しなくても実行は可能であ るが,コンパイル時に型の不一致の警告がでる.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.


no counter