« イメージファイルのマウント(Ubuntu8.10) | トップページ | 試験前の試験・・ »

2009年4月 6日 (月)

配列名はポインタってことについて(C言語)

何回か見てるけど、
よく意味不明な状態に落ち入るので、
まとめておこう。

配列名をポインタとして利用してるが、
「配列へのポインタ」と
「配列への先頭要素へのポインタ」とは、
微妙に違ってるらしい。

書き方は一緒だけど、
sizeof()とかで、変わってくるし・・。

参照先は、
「C言語 FAQ 日本語訳」の6.3
になる。

何度か読んで、
なんとなくつかめる・・そんな内容。

私の理解の範囲だと、
char arry[8];とか宣言したときは、
2つの場合を除いた場合、
arry は、先頭要素のポインタになるってこと。
(初期化の話は、別に置いておく・・)
1つ目は、sizeof(arry)の場合。
2つ目は、&arryの場合。

でも・・2つ目のコードって、見たことない・・。
実質、sizeof()だけ例外で、
他は先頭アドレス指すって覚えとけばいいのかな。

C言語の規約をきちんと見れば、
いろいろ見えてくるらしいが、
実際、そこまで気にしないしね。

一度くらい目を通すべきかも・・(汗)


あと、同じFAQに、
関数ポインタをコールする場合の記法が
2つあること書かれてた。
「C言語 FAQ 日本語訳」の4.12

「当たり前だ」みたいな書き方だが、
結構、納得がいってない。
やっぱり、C言語の原著でも見ないとだめかな・・。


それにしても、
C言語の意外な奥深さを
知ることができるFAQだった。
C言語使いなら、一度見てみると、
楽しいページかもしれない。

リンク:
「C言語 FAQ 日本語訳」

|

« イメージファイルのマウント(Ubuntu8.10) | トップページ | 試験前の試験・・ »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/97274/28982160

この記事へのトラックバック一覧です: 配列名はポインタってことについて(C言語):

« イメージファイルのマウント(Ubuntu8.10) | トップページ | 試験前の試験・・ »