"やっぱりこれ引き受けなければ良かった"と、後悔で枕を濡らさない日はないstarです。
枕カバーの贈り物待ってます。

"次回は具体的な~"と書いたのは具体的なプログラミングの実践を書こうかと考えていましたが、どうせなので先に前回の話をより具体化した物を書かうかと思います。

お題は・・・


『ポインタ』 です。

プログラミング初心者が"最初にぶつかる壁"と言われている物です。

かるく検索してみたら、こんな解説がみつかりました。

 ~~~~~ 以下引用 ~~~~~

ポインタとは


ポインタとはアドレス変数、つまり変数のアドレスを記憶する変数のことです。』

 ~~~~~ 引用終わり ~~~~~

どうでしょうか?
個人的には、小難しくて理解し難いな~と言う印象を受けました。

そこで前回の、

"難しいと感じた物を難しいままにしておかず、どうしたらそれが簡単になるか?を考えるようにする"

という事を実践してみます。

具体的にどうするかというと、ここではよく本などでも語られる方法の『身近な物に例えてみる』という手法をとってみます。

まずSさんが渋谷の売人さんと取引をするとします
取引方法は以下の通りです。


  1. Sさんが最初に前金を払うと、売人さんはコインロッカーのキーと、それがどこのロッカーのキーなのかを書いた紙(例.JR西口改札前の34番ロッカー)を渡してくれます。

  2. Sさんは指定場所のロッカーに行き、物を確認し、それを安全な場所に確保したら、ロッカーに残りの代金をいれます。

  3. その後Sさんは、コインロッカーの鍵とロッカーの場所を書いた紙だけを持って売人さんの元へ行き、鍵を返却して取引終了です。



この取引方法を取ることで、
売人さんは危険な物を持ち運ばずに済み、
Sさんも重たいアタッシュケースを持って売人さんに会いに行かなくて済むことになります。

つまり二人が会うときには、コインロッカーの鍵とロッカーの場所を書いた紙さえあれば良い(=身軽になれる)という事になります。

この時の、ロッカーの場所を書いた紙がポインターにあたります
※ロッカーの鍵は、話の便宜上付け足しただけです。

いろいろツッコミ所が満載な内容で、あまりわかり易くないと思う方もいるかと思いますが、実は、上手い例えを考え付く事(=結果)よりも、それを考えている過程の方が大事だったりします。

要は、あーでもない、こーでもないといろいろなアプローチの方法を考えている内に、自然とそれについての理解が深まってくると言う事です。
まるで、カンニングペーパーを作っていると、作っている内にその内容を覚えてしまうかのように。

最後はまた抽象的な表現になってしまいましたが、以上です。