演習時間: 60 分


1. 変数とポインタ変数


演習 1 (個人PC、10分): 間接演算子の使い方を学びましょう。

int 型の変数 a と int 型ポインタ変数 pa を定義して下さい。
アドレス演算子 & を使って変数 a のアドレスを pa に代入して下さい。
a に整数 100 を代入して下さい。
間接演算子 * とポインタ変数 pa を使って printf で a の内容(10進数)を表示して下さい。
ドキュメントファイルに「ソースコード」と「実行結果」をコピーして保存してください。


演習 2 (個人PC、10分): 間接演算子の使い方を学びましょう。

int 型の変数 a、 int 型ポインタ変数 pa を定義して下さい。
アドレス演算子 & を使って変数 a のアドレスを pa に代入して下さい。
間接演算子 * とポインタ変数 pa を使って a に整数 100 を代入して下さい。
printf で a の内容(10進数)を表示して下さい。
ドキュメントファイルに「ソースコード」と「実行結果」をコピーして保存してください。


演習 3 (個人PC、10分): ポインタ変数のデータサイズが参照先の変数のデータ型によって変わらないことを確認しましょう。

char 型のポインタ変数 pa、short 型のポインタ変数 pb、int型のポインタ変数 pc、double 型のポインタ変数 pd を定義して下さい。
sizeof(ポインタ変数名) の記述を使って各ポインタ変数のデータサイズ(10進数、byte)を printf で 10進数表示して下さい。
ドキュメントファイルに「ソースコード」と「実行結果」をコピーして保存してください。


演習 4 (個人PC、20分): 参照先の変数とポインタ変数がメモリ空間内でどの様に実際に配置されているか確認してみましょう。

int 型の変数 a と int 型ポインタ変数 pa を定義して下さい。
アドレス演算子 & を使って変数 a のアドレスを pa に代入して下さい。
a に整数 100 を代入して下さい。
a の内容(10進数)と a のデータサイズ(10進数、byte)と a のアドレス(16進数、番地) を printf で表示して下さい。
pa の内容(16進数、番地 ※)と pa のデータサイズ(10進数、byte)と pa のアドレス(16進数、番地) を printf で表示して下さい。

 ※ ポインタ変数 pa の内容はアドレス値なので、%p を使うことに注意して下さい。

ドキュメントファイルに「ソースコード」と「実行結果」をコピーして保存してください。


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

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

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


2. メリットとデメリット

今年度は省略