風で飛んでいくチラ裏

気ままに雑記メモ書き殴り。古い記事は別blogからの引っ越しなのでレイアウトがアレです。

CFAQを読む-5

http://www.kouno.jp/home/c_faq/c5.html#0 こっから。 5.1 アドレス空間とポインタのサイズがぴったり合うようなアーキテクチャだと、ぬるぽって どう表現するんだろうなぁ…。 5.2 ポインタ計算中に出てくるリテラル0はぬるぽを表すよ。 可変引数関数だと、渡す引数が何か分からないから、0だけ書くと整数として送ってしまうのか。 0よりはNULLを使うけど、NULLもどうせ定数0の定義だろし。 プロトタイプ宣言の無い関数コール時にも同じことが起こるのね。 プロトタイプ宣言無しはやらないから問題なさげ。 5.3 よく使います。 if(str){ strlen(str) } 5.4 NULLの定義か。お、今開発中の環境は単に0defineしてますよってコメント付きで書いてあるや。 (void *)0 とかしてる環境もあんのかな。 5.6 あー、データ型が違うとポインタの内部表現が違うと、 #define NULL (char *)0 とかしたときに short *NULL と違うことになるかもってことか。 5.10 NULLが将来0じゃなくなる可能性か。 5.13 文字列のヌル文字はナル文字NULですよ。これはぬるぽとは全然関係ないですよ。 ぬるぽの内部表現はどんな値かしらんけど、そんなもんCプログラマーは気にしなくていいですよ。 ってことらしい。 5.15 ごたごたが理解できない。 前の記事での疑問点であった、 memset(structure, 0, sizeof(structure)); で、構造体の中にポインタが入っていた場合、どうなるんだろうなぁ。 これは定数0ではないからヌルポインタではない? 5章残りは割愛