NULとNILについて

解決


Delphi大好き  2009-06-26 20:11:45  No: 34923

NULLとNILLについて教えてください。

この二つが、どうしても判りません。
NILLは、空の設定値を渡す、程度しか、認識できていません。

参考書などのサンプル等にも良くでてくるでのですが、全く判りません。

どなたか、簡単な説明で良いので、
ご教授いただけないでしょうか?

すいませんがよろしくお願いしますm(__”)m。


概説その1  2009-06-26 21:23:14  No: 34924

このような疑問はヘルプを見た方がいいと思うけど、
C言語のNULLポインタと同等のものがDelphiのnil定数にあたる。
でも、Delphiは型に厳格なので、nilはどこも参照しない(実質的には0番地)ポインタ値としか使えない。
それに対して、型にあいまいさを許すC言語ではNULLは数値の0としても使える。
Delphi(Pascal)言語にはあいまいなNULLという値はもともと存在しなかったけど、WindowsのOLEであいまいなVariant型が導入されてからDelphiでも
「未知のデータや失われたデータを示すVariant値を戻すnull関数」が作られた。
つまり、Delphiのnullは値ではなく関数であり、Variant関連でしか使えず、nil(ポインタ定数)値とは違う。


Delphi大好き  2009-06-26 23:56:49  No: 34925

ご説明ありがとうございます、
先ほど試しサンプルでnilをいじってみたのですが、
nilはポインタ型なのですね。

ポインタ型は何度も参考書を読み直しているのですが、
未だに理解できない難関です^^;

nilとnull、詳細に教えてくださってありがとうございます、
保存してじっくりと熟読して、何とかものにしたいと思います。

ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加