演習時間: 40 分


1. 1次元配列とメモリ空間


演習 1 (個人PC、10分): 配列がメモリ空間内でどの様に実際に配置されているか確認してみましょう。

char 型の長さ3の配列 a と short型の長さ2 の配列 b を定義して下さい。
配列 a の全体データサイズ(10進数、byte)と先頭アドレス(16 進数、番地 ※)を printf で表示して下さい。
配列 b の全体データサイズ(10進数、byte)と先頭アドレス(16 進数、番地 ※)を printf で表示して下さい。
ドキュメントファイルに「ソースコード」と「実行結果」をコピーして保存してください。

 ※ printf で番地、つまりアドレスを 16進数表示する時は %p を使います。


演習 2 (個人PC、10分): 配列の要素がメモリ空間内でどの様に実際に配置されているか確認してみましょう。

char 型の長さ3の配列 a と short型の長さ2 の配列 b を定義して下さい。
配列 a の全体データサイズ(10進数、byte)と先頭アドレス(16 進数、番地 ※)を printf で表示して下さい。
配列 b の全体データサイズ(10進数、byte)と先頭アドレス(16 進数、番地 ※)を printf で表示して下さい。
a[1] のデータサイズ(10進数、byte)とアドレス(16 進数、番地 ※)を printf で表示して下さい。ただしアドレスは a+i 記法で求めて下さい。
b[1] のデータサイズ(10進数、byte)とアドレス(16 進数、番地 ※)を printf で表示して下さい。ただしアドレスはアドレス演算子 & を使う記法で求めて下さい。
ドキュメントファイルに「ソースコード」と「実行結果」をコピーして保存してください。

 ※ printf で番地、つまりアドレスを 16進数表示する時は %p を使います。


演習 3 (個人PC、20分): 演習 2 におけるメモリ空間の状態を視覚的に確認してみましょう。

テンプレートの表計算ファイルをダウンロードして下さい。
演習 2 の結果を参照して赤い?マークの所に数字を書き入れて下さい。 アドレスの桁数が大きすぎる場合は下4桁だけで良いです。
a[1]とb[1]のアドレスが演習 2 で求めたアドレスと一致している事を確認して下さい。
ドキュメントファイルに「メモリ空間」をコピーして(※)保存してください。

 ※ 右クリック→貼り付けのオプションで「図」を選ぶと綺麗に貼りつけられます。