2002-04-12

ポインタ変数と配列は同じ型であつかえるようになってるので似てますが、全然別の物です。ちゃんと勉強しましょう。

配列が関数の引数で渡されたときのお話。ポインタ変数と配列とアドレスの関係がはっきりすると、Cが急に明瞭なものに感じられるようになりますね。なんだ、けっきょくぜんぶメモリ操作か、みたいな(笑)。

プログラマでもないのに偉そうですが(笑)。

このあたりがあやしいと、配列へのポインタpに対してsize = sizeof(p);として配列のサイズを得ようとしてみたり(ポインタからもとの配列の大きさを知る方法はありません)、ポインタ経由で渡されたint型の変数の値を変更しようとしてp = 0;とやってしまったりします(*p = 0;が正しい)。

じつは、「ポインタまわりは一度理解した(と思った)あとで、もう一度わからなくなるときがくる」という持論を抱いてたりします。たんに自分がそうだったから、というだけですけど(笑)。