呼び出された関数から呼び出し側の関数の変数を直接書き換えるためには ポインタを使う必要がある.
関数が複数のデータを返すときや大きなデータを引数として渡す時に便利である.
配列名を渡すのは配列の先頭アドレスを渡すことと同じ
リスト 7.3 を入力し,実行せよ.
関数にポインタを渡すと前節で説明したような利点がある反面, 呼び出し側の変数の値を不用意に変更してしまう可能性がある. この可能性を小さくするため const 修飾子を使い,アクセス範囲を コントロールする
リスト7.4,7.5 を入力し実行せよ.
大きなデータを読み出し専用で効率よく安全に渡すことができる 「定数データへの非定数ポインタ」が特に有用である
「非定数データへの非定数ポインタ」, 「定数データへの非定数ポインタ」, 「非定数データへの定数ポインタ」, 「定数データへの定数ポインタ」の 4 種類説明を補足する 図を示す.要するにポインタ変数(xPtr)とそれが示す変数(x1,x2) の 2 つそれぞれを定数,非定数に設定できる,ということである.
以下に 4 つの場合すべてを図示し,説明する.
図 3.非定数データへの非定数ポインタ
図 4.定数データへの非定数ポインタ
図 5.非定数データへの定数ポインタ
図 6.定数データへの定数ポインタ
レポート提出時にプログラム,実行結果をメールにコピーペーストする必要が ある.以下の方法でコピーができる.