NULLとNILLについて教えてください。
この二つが、どうしても判りません。
NILLは、空の設定値を渡す、程度しか、認識できていません。
参考書などのサンプル等にも良くでてくるでのですが、全く判りません。
どなたか、簡単な説明で良いので、
ご教授いただけないでしょうか?
すいませんがよろしくお願いしますm(__”)m。
このような疑問はヘルプを見た方がいいと思うけど、
C言語のNULLポインタと同等のものがDelphiのnil定数にあたる。
でも、Delphiは型に厳格なので、nilはどこも参照しない(実質的には0番地)ポインタ値としか使えない。
それに対して、型にあいまいさを許すC言語ではNULLは数値の0としても使える。
Delphi(Pascal)言語にはあいまいなNULLという値はもともと存在しなかったけど、WindowsのOLEであいまいなVariant型が導入されてからDelphiでも
「未知のデータや失われたデータを示すVariant値を戻すnull関数」が作られた。
つまり、Delphiのnullは値ではなく関数であり、Variant関連でしか使えず、nil(ポインタ定数)値とは違う。
ご説明ありがとうございます、
先ほど試しサンプルでnilをいじってみたのですが、
nilはポインタ型なのですね。
ポインタ型は何度も参考書を読み直しているのですが、
未だに理解できない難関です^^;
nilとnull、詳細に教えてくださってありがとうございます、
保存してじっくりと熟読して、何とかものにしたいと思います。
ありがとうございました。
ツイート | ![]() |