【C言語】ポインタ(2)日経ソフトウェアでの説明

どうも。gochaです。

今回ご紹介したいのは、日経ソフトウェア 2004年6月号です。

この本は良いまとめ方の例として、10年以上手元に置いています。

が、いきなりダメ出しします。Page 59からの抜粋です。

まず、「ポインタは“変数のアドレス”を格納する為の“変数”である」ということを理解しましょう。

参照:『日経ソフトウェア 2004年6月号』p59 - ポイント7 ポインタは変数のアドレスを格納する 特集1 Part1 図解!Cで学ぶべき10のポイント

間違っています。が、驚くほど多くの書籍、並びにWeb上の資料がこのような説明をしてます。

なぜ間違っているかと言うと、ポインタに格納できるのは変数のアドレス“だけ”では無く、例えば、文字列定数の先頭アドレス等を格納することもできるし、構造体や共用体、その他、の先頭アドレス等を格納することができるからです。

また、特定のオブジェクトを指していないことを示すヌルポインタやファイルポインタもあります。

自分は、

ポインタは、C言語で表現されたプログラムに存在する“様々なもの”にアクセスするための仕組み

と理解しています。

次回は、上記を示すコードを用いて説明します。

今日はここまで。