やっぱり変数は箱(のようなもの)で説明するのがいいんじゃなかろうか

Posted by
ぴろり
Posted at
2009/01/17 23:52
Trackbacks
関連記事 (0)
Post Comment
コメントできます
Category
電算室 カテゴリ

ヒビノアワ: 変数についてどう説明するのがいいのだろうか
プログラミングをまったく知らない人に、どうやって説明するのかというプロセスに興味があるのですね。で、読んでいるとたいていの本で変数の説明として「箱」というメタファを出してくるのです。変数は箱のようなもので、Aという箱に数値を入れてうんぬん......。

 私はセオリー通り(?)に変数を箱で覚えましたねぇ。元記事ではその後,話がポインタの話題になっているのですが,ここでは少し寄り道してみます。

この記事をはてなブックマークに追加する この記事のはてなブックマーク数 | この記事をlivedoorクリップに追加する この記事のlivedoorクリップ数 | この記事をYahooブックマークに追加する この記事のYahoo!ブックマーク数 | この記事をdel.icio.usに追加する | Twitterにポストする

変数の型

 「A」と書かれた箱があって,これに「123」と書かれたを放り込むことができます。これが変数Aです。他にも「B」と書かれたコップと「C」と書かれた紙袋があって,それぞれに「200cc」のミルクと「300g」の小麦粉を入れることができます。これで変数Bと変数Cができました。箱にはミルクを入れることはできませんし,紙袋にを放り込むこともできません(現実的に可能だとしても) この入れ物の違いが変数の型として説明できます。もし,無理矢理にコップに小麦粉を入れたい場合には、型変換(キャスト)を行うことで、異なる型同士でも値の交換が可能になります。

変数のポインタ

 次に本題のポインタです。「A」と書かれた箱はボブの机の上にあって,「B」と書かれたコップはメアリーが持っていて、「C」と書かれた紙袋は台所にあります。このように,どの変数がどの場所に在るのか、というをポインタとして説明できます。
 ここで少し話を飛躍して、話を現実のリ空間に近づけてみます。「A」と書かれた箱はコインロッカーの1900番に入っています。この「コインロッカーの1900番」というのがポインタの値です。そしてこの「1900番」という値の書かれたを箱に入れて,コインロッカーの2200番に入れておきます。これが「Aへのポインタ」です。2200番のロッカーを開けると,変数「A」へのポインタ「1900番」と書かれた紙が入っています。そして,1900番のロッカーを開けると,ようやく変数「A」の実体である「123」を得ることができるというわけです。
 ややこしい「変数Aのポインタへのポインタ」も同じ考え方でいけます。上の例で、更に「2200番」と書かれたを2300番のロッカーに入れてしまえばよいのです。そして、2300番→2200番→1900番と辿ることで変数Aを得ることができます。

 …と、こんな説明でどうでしょうか?


この記事を読んだ人はこんな記事も読んでいます 記事リコメンデーションについて

その他の関連する記事

この記事のアーカイブ

全ての記事 »
2009年
全てのカテゴリ »
電算室
全てのタグ »

関連記事/トラックバック

関連記事/トラックバックはまだありません

この記事にトラックバックを送るには?

コメントを投稿する

 
 (匿名可/必須/公開)
 (匿名可/必須/非公開)
 (必須)
コメントスパム防止のため投稿前に ランダムな数字 CAPTCHAについて を入力してから投稿してください。お手数ですがご協力のほど宜しくお願いいたします。
 
プログラミング