- ベストアンサー
nullの実態は何なのでしょう?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
C FAQ ヌルポインター http://www.catnet.ne.jp/kouno/c_faq/c5.html NULL は 0 と定義されているけれども、 実際にプログラムが動作しているときには 0 とは限らない。 0 を NULLポインタ と見なすのはコンパイラの仕事。
関連するQ&A
- JavaScriptのnullはいつ使う?
JavaScriptにはnullという値がありますが、いつ使うのでしょうか。 値が定義されていない変数やプロパティには、undefinedが入っていますし、 undefinedを代入することもできます。 C#でのnullの使い方と同じように、undefinedが使えちゃってます。 ではnullはいつ使うのでしょう? undefinedではなくnullでなければダメなケースって何がありますか?
- ベストアンサー
- JavaScript
- NULLが返ってこない…。
原因がわからないため質問をさせて頂きます。 <%-- JSP <input type="text" name="name"> //名前 String name = request.getParameter("name"); Data data = new Data(); //コンストラクタをnew data.setName(name); --%> <%-- class(Bean) private String n = null; public void setName(String name){ if(name != null){ n = name; }else{ n = null; } public String getName(){ if(name != null){ return name; }else{ return name; } } --%> 値をgetParameter()メソッドで取得をして 値をsetName(name);でセットをしています。 セットした側でもし値があるのであれば その値を変数に格納。 もし値がなければnullを変数に格納しています。 しかし System.out.println(data.getName().equals("");//true System.out.println(data.getName().equals(null);//false; となりnullを返してくれません…。 このコードに何を足したらnullを返してくれるのか わかりません。 わかる方がいらっしゃいましたらよろしくお願い致します。
- ベストアンサー
- Java
- 変数にnullを代入するには
諸事情で、変数の値をNullにしたいのですが、 Sub a() Dim mystr As String mystr = "moji" '他の処理 mystr = Null End Sub だと、実行時エラー94になります。 多分、NULLは値じゃないから代入できないんだと思いますが、どうすれば変数をnullにできるのでしょうか? String型が問題であれば、何にすればいいですか?
- ベストアンサー
- オフィス系ソフト
- Null参照を調べる方法を教えてください。
こんにちは、よろしくお願いします。 VisualVasic2005でWindowsアプリケーションを開発中です。 データベースはmdbを使用しています。 デバッグをした時に、 TableUpdataエラーで、「オブジェクト参照がオブジェクト インスタンスに設定されていません。」 という表示がされます。 いろんなページを見て、Null参照になっていると発生するエラーだということは理解できたのですが、どのオブジェクト参照がNull値になっているのか、調べ方がわかりません。 最近、勉強をはじめたばかりで、一生懸命コードを書いたのですが、 肝心のデバックした時のイミディエイトウインドウに書かれる エラーメッセージの見方や、エラー処理の仕方がいまいちわかりません。 もっと便利に活用したいので、参考ページなどありましたら教えてください。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- undefinedかnullかどう区別できますか?
JavaScript の教科書に下記のように記載があったのですが、 >>> ページからアンカータグを取得するgetAnchorという関数があったとします。 その際、アンカータグが見つからなかったならば、何を返すべきでしょうか。undefined(未定義)は不自然です。 今度は「該当する値がなかった(=空であった)」という値を、意図して伝えようとしているので、nullを返すべきです。 関数で値が返されなかった場合はundefinedと聞いたのですが上記はそれに該当するように私は思ってしまうのですが、なぜ違うかわかりますか? 関数で値が返されなかった場合とはalert()のように引数がなかった場合という意味でしょうか? それともretunr 変数名などのreturnがない場合という意味でしょうか?
- ベストアンサー
- JavaScript
- Nullについて
こんばんは!よろしくお願いします。 新規に作成したフォームにコンボボックスを設置して Sub test1() If Form_フォーム1.コンボ0.Value = Null Then Form_フォーム1.コンボ0.Value = "" End If MsgBox Form_フォーム1.コンボ0.Value End Sub Sub test2() If IsNull(Form_フォーム1.コンボ0.Value) = True Then Form_フォーム1.コンボ0.Value = "" End If MsgBox Form_フォーム1.コンボ0.Value End Sub 上記2つのサンプルを実行した時に、 test1のほうだけ 実行時エラー94 Nullの使い方が不正です。 となります。 ウォッチウインドウで見ていくと、 「オブジェクト変数、またはwithブロック変数が設定されていません。」 となりますが 「If Form_フォーム1.コンボ0.Value = Null Then」 を通過したら Nullになります。 何が起こっているのでしょうか?
- ベストアンサー
- オフィス系ソフト
- nullについて
public class Test0 { public static void main(String[] args) { String str="x"; str=null; if(((Object)str).equals(null)) { System.out.println("ok"); } else { System.out.println("out"); } } } を実行するとエラーになります str=null; をコメントアウトするとエラーでなくなります クラスオブジェクトがnullに等しいかどうか をするときにたとえそのオブジェクトがnullであっても エラーにならないようにするにはどうしたらいいのでしょうか? (tryは使用しない方法でおねがいします) また String x; とした直後にxはnullなのでしょうか? String以外に一般のクラスについてもお願いします
- ベストアンサー
- Java
- PHPの参照渡しについて
以下のようなコードがあったとき $obj = new stdClass(); $foo = $obj; この場合、動作は いわゆる【参照の値渡し】というとらえかたでよいのでしょうか? 変数$obj には、 new stdClass();という記述によって 新規に作成されたオブジェクトの参照(※正確には別のメモリ内に保持されたオブジェクトのアドレス) が保持されるわけですよね? そのとき $foo = $obj; というコードは$objが保持するオブジェクトのアドレス値を$fooという変数にも コピーするという動作を意味するわけですよね。 この場合、両変数を用いて生成されたオブジェクトのプロパティなどの状態を 共有することとができます。 しかしながら変数$fooに別の値、例えば文字列を代入すうると $foo = "文字列"; とすると$fooの値が変更され$objの値は変更されません。 対して、次のようなコードがあった場合 $foo = &$obj; というコード、これはPHPにおける参照渡しですが、 この場合は$objが指し示す、オブジェクトが保持されているメモリ上のアドレスではなく そのメモリ上に確保された変数$objそのもののアドレスが$fooという変数にコピー? されるのでしょうか? この明示的な参照渡しだと、オブジェクトの状態を共有するのはもちろん $foo = "オブジェクト破棄"; と片方に文字列を代入すると print $obj; 同様に文字列にかわってしまいます。 この本来の意味?であろう参照渡しとは実際 $fooに変数$objそのもののアドレスが保持されるという 解釈でよいのでしょうか? おくわしいかたご教授ください。
- ベストアンサー
- PHP
お礼
回答ありがとうございました。 単純に0とは言えないのですね。 参考サイトを見ましたが、難しくてすぐには分かりませんでした。 更に、勉強したいと思います。