プログラマーになりたいんですが0とNULLの違いがわかりません。どうしたらいいですか?

1: 名無しさん 2017/02/26(日) 12:35:06.689 ID:XHb8AC2+0.net
0とNULLって同じじゃないの?

引用元: http://viper.2ch.net/test/read.cgi/news4vip/1488080106/

4: 名無しさん 2017/02/26(日) 12:35:30.116 ID:pjz/e+TY0.net
ぬるぽ

6: 名無しさん 2017/02/26(日) 12:36:57.461 ID:2R/INJLy0.net
>>4
ガッ

5: 名無しさん 2017/02/26(日) 12:36:23.794 ID:Mm48/y9I0.net
nullは空白(ブランク)
0はfalse、0か1かの二択しかないうちの0

26: 名無しさん 2017/02/26(日) 12:43:49.234 ID:XHb8AC2+0.net
>>5
これがわかりやすいな
でも変数にNULL入れてなんか意味あんの?

32: 名無しさん 2017/02/26(日) 12:46:12.884 ID:pxpwX3oc0.net
>>26
よりによってそれ信じちゃダメでしょ…

52: 名無しさん 2017/02/26(日) 12:55:57.131 ID:XHb8AC2+0.net
>>32
じゃあなにを信じたらいいの?

8: 名無しさん 2017/02/26(日) 12:37:38.541 ID:cZvxswyH0.net
0はヌルだけど
ヌルは0とは限らない

12: 名無しさん 2017/02/26(日) 12:37:52.870 ID:3vysqn7U0.net
そこで引っかかるなら辞めたほうが幸せになれる
いやマジで

14: 名無しさん 2017/02/26(日) 12:38:54.644 ID:pxpwX3oc0.net
文字列や配列が「空っぽ」を表すときゼロって変でしょ?

15: 名無しさん 2017/02/26(日) 12:38:59.302 ID:5gMLEhh6a.net
>>1
そのゼロも数値としてのゼロと文字としてのゼロとキャラクターのゼロがあるんやで

18: 名無しさん 2017/02/26(日) 12:39:49.189 ID:hzLRC0m90.net
NULLは何も入っていないからっぽ
0は0が入っている
0をNULLと読み込む場合もある

19: 名無しさん 2017/02/26(日) 12:39:52.611 ID:dEVQFGoZ0.net
ぬるぽ

36: 名無しさん 2017/02/26(日) 12:49:06.905 ID:tUX2Mu0R0.net
>>19
ガッ

20: 名無しさん 2017/02/26(日) 12:41:34.350 ID:cZvxswyH0.net
✕ヌル
○ナル

21: 名無しさん 2017/02/26(日) 12:41:35.006 ID:+ARCpaoF0.net
0の概念すらないのがヌルヌル

28: 名無しさん 2017/02/26(日) 12:44:37.977 ID:MrWcXIx+d.net
いやブランクも意味他にあるから

29: 名無しさん 2017/02/26(日) 12:44:54.188 ID:XHb8AC2+0.net
あとなんで半角スペース=NULLなの?
半角スペースとNULLは同じじゃないよね

34: 名無しさん 2017/02/26(日) 12:47:46.994 ID:p8CrT2rj0.net
>>29
ちげーよ
半角スペースは0x20, nullは0x00

41: 名無しさん 2017/02/26(日) 12:50:34.208 ID:p8CrT2rj0.net
>>34
あとこれはASCIIの話な
ASCIIの0は0x30

53: 名無しさん 2017/02/26(日) 12:56:28.830 ID:XHb8AC2+0.net
>>34
でもオラクルとかだと半角スペース入れたらNULLになるよね?

33: 名無しさん 2017/02/26(日) 12:47:11.929 ID:S0c5UqH6r.net
何も持ってないか0という数字を持っているか

37: 名無しさん 2017/02/26(日) 12:49:32.620 ID:7Mc/9tX0a.net
まず何の言語か書け
NULLの定義は言語によって違う

57: 名無しさん 2017/02/26(日) 12:57:28.367 ID:XHb8AC2+0.net
>>37
なんで言語によって変えてんの?
NULLはこれって決めとけばだれも混乱しないじゃん

61: 名無しさん 2017/02/26(日) 13:00:28.779 ID:xVi8zP82d.net
>>57
言語の性質によってnullの実装の良し悪しがある
わかりやすい例だとLispはリストを再帰的に処理するから空集合をnullにしておくとコードが簡素になる
これが0だとコードが無駄に肥大化する

38: 名無しさん 2017/02/26(日) 12:49:45.083 ID:phQ0zdES0.net
java派遣プログラマの俺
話に付いてけず低見の見物

40: 名無しさん 2017/02/26(日) 12:50:29.168 ID:hzLRC0m90.net
>>38
DB使う時はNULLあるだろ

39: 名無しさん 2017/02/26(日) 12:49:53.683 ID:hY3ZbD3nd.net
nullは空を表す概念
これをゼロで表す言語もあるが別にそうじゃなきゃダメってわけではない

45: 名無しさん 2017/02/26(日) 12:53:39.920 ID:rFh8pFe50.net
null=記憶域を消費してない
それ以外は、全部記憶域に記録されてる

ゼロや空白も、ゼロや空白として記録されている
その記録が無いのがnull
値ではなく状態

83: 名無しさん 2017/02/26(日) 13:19:22.067 ID:5gMLEhh6a.net
>>45
nullはメモリ上では0x00やで
オブジェクト指向は型の定義もメモリを使うから0x00と異なるnullを定義できる

47: 名無しさん 2017/02/26(日) 12:55:05.950 ID:FanU17X5d.net
C11ではNULLを整数型の0かそれをvoid*にキャストしたものどっちかってって書いてるから処理系によってはNULLNULLできるんじゃね
gccだと後者だね

48: 名無しさん 2017/02/26(日) 12:55:30.562 ID:QcZ5F9LP0.net
nullのときもブランクのときもブランクで表示されるんじゃね
だからどの画面の話をしてるのかゆえよ

50: 名無しさん 2017/02/26(日) 12:55:45.271 ID:hzLRC0m90.net
nullでも記憶容量の確保はしてるだろ

56: 名無しさん 2017/02/26(日) 12:57:02.924 ID:G13Q5h+n0.net
はいはい、これだろ
no title

62: 名無しさん 2017/02/26(日) 13:01:55.480 ID:D9mB9jwg0.net
ヌルをナルっていうやつなんなの?

97: 名無しさん 2017/02/26(日) 15:27:48.242 ID:3ciRWDyU0.net
>>62
発音はナルが正しい
nutsをヌッツとは言わないだろ?

70: 名無しさん 2017/02/26(日) 13:06:23.153 ID:Vsuyh4TZd.net
nullと空白と0は全部違う

71: 名無しさん 2017/02/26(日) 13:06:59.393 ID:bGfGJAfZa.net
swiftはnull切ってnullableにしたから潔いな
javaもoptionalが一般化したらnullに苦しめられることは減るだろう
代償としてさらに字数が増えるけど

74: 名無しさん 2017/02/26(日) 13:07:29.544 ID:2NMSGvuSd.net
言語が違ったらnullは名前が同じだけのもんだと思っとけ
系譜が同じなら扱いの類似性は高いだろうが

82: 名無しさん 2017/02/26(日) 13:18:03.614 ID:p66+HomQM.net
いつからプログラムが素晴らしいと勘違いしていた?
素晴らしいのは低レイヤーの人達だぞ

87: 名無しさん 2017/02/26(日) 13:21:35.898 ID:1oAHkbCYd.net
そもそもnullって言葉が無っぽいものを表す時に慣習的に使われてるだけだし

89: 名無しさん 2017/02/26(日) 13:22:27.066 ID:bKY6woN2p.net
Nullにも未知と未定義とあってだな。。。

男と女の入力を許したとして
未知、性別自体がかわからない
未定義、男か女以外の何者か

とかあるんよ。

88: 名無しさん 2017/02/26(日) 13:21:56.031 ID:nVpU4afP0.net
人によって違う言語の話してて会話成り立ってないのうける

78: 名無しさん 2017/02/26(日) 13:15:48.099 ID:XHb8AC2+0.net
聞く人によって回答が変わるからプログラムはクソ
だってはっきりわかんだね

93: 名無しさん 2017/02/26(日) 13:33:59.571 ID:kiwqwXd60.net
>>78
分かってない奴が間違った回答をしているだけで正解は1つ
数字の0と何もデータがないことは違うだろ?

95: 名無しさん 2017/02/26(日) 13:44:45.178 ID:QAq/1GOO0.net
>>78
言語を指定してないてめーのせいだ

『プログラマーになりたいんですが0とNULLの違いがわかりません。どうしたらいいですか?』へのコメント

  1. 名前:どうぶつ@名無しさん 投稿日:2017/04/22(土) 16:32:11 ID:4e9108067

    nullがブランクとか言ってるアホ共多すぎだろ
    ブランクもnullとは違うし言うまでもなく0とも違う
    てかこれが分からんのにPGになるとか冗談抜きで諦めた方がいいレベル

  2. 名前:どうぶつ@名無しさん 投稿日:2017/04/22(土) 16:43:16 ID:4e9108067

    >>56のトイレットペーパーでの説明、
    初めて見た時も突っ込んだけど
    アレは0とブランクの違いだぞ

  3. 名前:どうぶつ@名無しさん 投稿日:2017/04/22(土) 16:59:16 ID:5fd9fd0ca

    0は数字のゼロというものが入っている、Nullは何も入ってない。
    環境で変わるが、0はビット単位でF0とか色々入っているが、
    Nullはビット単位では「」で空白入ってたりする。
    さらに環境によってはLOW-VALUEとかイニシャライズとか
    本当にデータをバイトやらビット単位で見ないと何が入っているのか
    わけがわからんものまで出てくる。

  4. 名前: 投稿日:2017/04/22(土) 17:08:34 ID:f38c6e91d

    NULLはNULLって役目の記号だと覚えればいい。
    言語によって実数が変わるだけで役目は同じだから。

  5. 名前:どうぶつ@名無しさん 投稿日:2017/04/22(土) 17:37:57 ID:d6bba9362

    nullは全でもあり無でもある
    0は単純に数字の0
    1が数字の1ってのと同じ

  6. 名前:どうぶつ@名無しさん 投稿日:2017/04/22(土) 17:42:23 ID:d6bba9362

    定義されていない、定義できない何かがnull
    0は数字の0

  7. 名前:どうぶつ@名無しさん 投稿日:2017/04/22(土) 18:33:37 ID:cd75d7b89

    言語関係ない
    0は0x30、nullは0x00
    それだけ

  8. 名前:どうぶつ@名無しさん 投稿日:2017/04/22(土) 19:35:07 ID:5afbff100

    nullは不定
    数学にも不定があるだろ

  9. 名前:匿名 投稿日:2017/04/22(土) 19:44:29 ID:c03766d42

    数値型の0なら0が入ってる訳で何も入ってないわけじゃない

  10. 名前:どうぶつ@名無しさん 投稿日:2017/04/22(土) 19:54:15 ID:3d948103c

    NULLは真空で、0は空気がある

  11. 名前:どうぶつ@名無しさん 投稿日:2017/04/22(土) 21:18:24 ID:454c239f1

    技術者だけど>>56が答え

  12. 名前:どうぶつ@名無しさん 投稿日:2017/04/23(日) 02:26:38 ID:4b5beb48c

    NULLの定義云々を聞いてる時点でプログラマは諦めれ

  13. 名前:匿名 投稿日:2017/04/23(日) 13:38:33 ID:c0a47ac4a

    NULLは、なんも入ってないって意味。
    0は、0が入ってる。
    NULLは、オブジェクトやポインターに使う。
    数値の変数には入れない。言語によっては、アドレス0なので、入れてしまうことが出来るが、入れちゃダメ。わけわかんなくなっちゃう。ホントは、比較もしちゃだめ。