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章残りは割愛