私の頭の中のガベージコレクタ

とかなんとかで、ポインタとは? をテーマに 何気なく K&R を紐解いてみたら、いきなり

A pointer is a variable that contains the address of a variable.

とか書いてありました。うわ、まんま「『アドレスを格納する変数』が 『ポインタ』」だわ orz.

いや、でもこれ、問題ですよね?ね?・・・と、往生際悪くあがくあたしは、少しでも後ろ盾が欲しいと、ソレっぽいことが書いてありそうな本――具体的には「エキスパート C プログラミング」と「C言語ポインタ完全制覇」をパラパラ。したら、捜しているモノとは別の衝撃の事実を発見。実は先ほどのエントリと、そのまんまズバリな内容が ポインタ完全制覇の方に書いてありました。

最初に「ポインタ型」がある.
「ポインタ型」があるんだから「ポインタ型の変数」も「ポインタ型の値」もある.

あー、自分で思いついた説明のしかたじゃなくて、単に頭の引き出しから一度読んだコレを引っ張り出してきて、思いついた気になっていただけでしたか。うう、老いたな父上あたし orz。


ともかく、クダンの話については、K&R の上記記述について、

バイブルにケチをつけるようでなんですが、かなり問題ある表現だと思います.この説明では,まるでポインタといえば「変数」であるかのようですが,実際には必ずしもそうではないからです.

と、前橋さんも仰っていて、ホッ とした三猫でした。あぶないあぶない。


* * *


それにしても、前橋さんには、私、自覚以上に影響受けてるなぁ。と言うわけでご紹介です。

C言語ポインタ完全制覇 (標準プログラマーズライブラリ)

C言語ポインタ完全制覇 (標準プログラマーズライブラリ)

私のは初版第一刷に 正誤表の内容をカキコしたもので、これまであまたの後輩ちゃんに貸し出してきたのですが、うーん、もう見るも哀れにボロボロになってるです。むー、そろそろ新しいの買おうかしらん。