こんにちは､ そしてお帰りなさい｡ もうひとつのチャレンジ
今回もポインターの上に乗っていることになります｡ 今回のチャレンジで習得してもらいたいのは､
参照渡しの概念です｡
つまり､ cは値で渡されたものをすべて行っているにもかかわらず､
ポインタを使うと実際にはアドレスのコピーを作っているので､ 参照渡しを模倣しているのです｡
そして､ 参照渡しの大きなメリットは､ 関数､ 関数内部でポインタの値や変数を変更すると､
その変更が関数外部で反映されることです｡
だから､ グローバル変数をあまり使う必要がないし､
関数にデータを渡すときに､ 参照渡しを模したポインタで渡せるのは大きなメリットです｡
そこで､ このチャレンジでは､ 参照渡しとそのためのポインタの使い方を理解するためのプログラムを作成します｡
数字を2乗する関数を書いてほしい｡
この関数の実装は非常にシンプルなものになります｡
パスした数字を二乗していくだけです｡
したがって､ この関数は int ポインタをパラメータとして定義する必要があります｡
関数宣言の中で､ ポインタであるint starを受け取っています｡
そして､ 関数実装の内部では､ ポインタの値を非参照にして､
それ自体を掛け合わせる必要があります｡
この関数からデータを返す必要はありません｡
参照渡し､ ポインタ渡しの概念を理解してもらいたい｡
このプログラムが最後にすべきことは､ 関数に渡したポインタの値､
つまり変数の値をプリントアウトすることです｡
だから､ 渡すためのポインターを作る必要もない｡
通常のペリメーターデータ型であるinteger floatを使用することができます｡
ただ､ その整数のフロートを渡すときに､
二乗の関数はポインタしか受け付けないから､ アドレスでなければならないんだ｡
しかし､ ここでも注目すべきは､ アドレスを使っているので､
関数外の値や変数､ 関数に渡される値が変化し､ これは参照渡しを模倣していることです｡
だから､ 頑張ってください｡
とてもわかりやすいですね｡
ここでも､ ポインタの構文と参照渡しの概念に慣れることができます｡
ありがとうございます｡