プログラミング初心者がつまづく「0とnull」の違いを分かりやすく説明した画像がこちらです

まとめました。
29
R SATO(佐藤 玲) @raysato

プログラミング初心者がつまづきやすい、0とnullの違いを解説した画像です。 pic.twitter.com/I2JiXO8OUr

2017-02-20 21:11:12
拡大
マヴユーユ @mavyuuyu

@raysato @gabugaburin おお、これはわかりやすい例ですね!

2017-02-20 21:38:38
Yuichi Onodera @mokemoke6502

ああ、すげ〜わかりやすい。 こうやって教えるべきだった! twitter.com/raysato/status…

2017-02-20 21:32:10
健康的な生活 @silmin_

つまり0ってのは0が有るってことなんですね! とてもわかりやすい!!!() twitter.com/raysato/status…

2017-02-20 21:28:33
Ichi🏳️‍🌈 @kanaya

どちらが0でどちらがnullかわかるかな? twitter.com/raysato/status…

2017-02-20 21:25:35
ゆうやけPC @vyekpc

温度計で例えた方が分かりやすくない? 気温0度と観測データなし みたいな twitter.com/raysato/status…

2017-02-20 21:25:19
こっそり萩風 @hagikaze_koso

0の場合同じ種類の物を用意しなければいけなく、nullの場合別の物も使えるという点も表現しているように思えますね…。 twitter.com/raysato/status…

2017-02-20 21:19:49
きつねこ @kituneponyo

マジレスするとnullは不定値だからあんまり適切な例えには見えない twitter.com/raysato/status…

2017-02-20 21:16:48

コメント

夢乃 @iamdreamers 2017年2月20日
芯のないトレペだったらどっちも一緒だ〜(^^) .
2
めざし @chemical_mezasi 2017年2月21日
厳密には違うのかもしれないけど分かりやすいね。
0
羽倉田 @wakurata 2017年2月21日
NULLで一番大切なのは値が不定って事なんだが、「宿題やってません」と「宿題忘れました」とかかな。忘れた宿題は白紙かもしれないし、ある程度やってるのかもしれない。
3
@izanamu 2017年2月21日
むしろ null と undefined の違いを…
5
kartis56 @kartis56 2017年2月21日
続きもまとめに入れるべき
2
sk @sk_exe 2017年2月21日
VBAer「では0とNullと空文字列とEmptyとNothingの違いについて」
1
佐渡災炎 @sadscient 2017年2月21日
nullが不定値なんてのは野蛮な処理系。nullはnullという値なんだよ(SQLおじさん風
7
キケリキー @KIKERIKI17 2017年2月21日
ヘッダーを覗いて、【#define NULL 0】 あ、あの・・・センパイ、ゼロとNULLは違うんですよね?
0
ashi_happon @ashi_happon 2017年2月21日
初心者時代に0とnullでつまづいた記憶もないのだが。
2
羽倉田 @wakurata 2017年2月21日
NULL参照でエラーに会うなんて、古いシステムに触れる人意外はシステムが未然に防ぐから無いよな。NULL参照で数ヶ月前にメモリに書いた値が出るとかファンタジー世界を旅する事も世の中にはあるのだよ
1
richandbright @richandbright 2017年2月22日
0はnull pointer constantやろ… (古参Cプログラマ)
0
Ichigo Mayo@Vまよーん @15my 2017年2月22日
KIKERIKI17 うん。違う。数値の0をポインタに代入するとそのポインタは何も指さなくなる(他の言語のnull予約語相当)というのがC言語の仕様。デバッガで見ると0番地を指しているように見える場合が多いけどそこは仕様じゃないので0番地じゃない処理系もある。
0
キケリキー @KIKERIKI17 2017年2月22日
15my そうですね。「0を代入してもNULLにならない」と説明されて「数値の0をポインタに代入する」という事実に、若手が混乱するという話で、与太話だったんですけどね。
1
しょーた @shota243 2017年2月22日
というわけで「プログラミング初心者がつまづきやすい、0とnullの違いを」と言ってしまっているのが見事なつまづき。
0
blade0@オッ㌠ @blade0 2017年2月22日
まだだ、まだ芯でふk(やめなさい
0
あるけむ(R.K.M)アカウント再建中 @fwbc1965_3 2017年2月22日
ポインタのNULL(null pointer)のこと? SQLのNULL(NULL値)とは意味が違うよね。
0
ぱんどら @kopandacco 2017年2月22日
アセンブラ出身者にするとヌルなんて値はないので、たとえばCだとヌルは内部でどう区別するのかなと思う。(ポインタがゼロだったらヌルとみなすとかそういう約束事?)
0
ぱっち @g2919119 2017年2月22日
DB.Nullは・・・(どきどき
0
kusano @t_kusano 2017年2月23日
kopandacco その通りですね。上の※にもありますが #define NULL 0 なので。むしろ今どきのNULLと0を区別する言語に違和感。
0
キケリキー @KIKERIKI17 2017年2月23日
PHPの関数説明で「関数は正しい値として0を返すことが有ります。戻り値のfalseを==で判定すると誤動作する可能性があるので、===で判定してください」辺りのコメント読むたびに、そりゃ「僕が考えた最強の言語」を作りたくもなるよなぁと思う。
0
大尾太雄 @oooooo3022 2017年2月23日
知ってる人の方がわかりやすい可能性
0
アルビレオ@炙りカルビ @albireo_B 2017年2月23日
KIKERIKI17 初期のCでは型の扱いが厳密ではなかったのでそれで合ってた。ANSI Cとして標準規格を作るときに0ではなく(void*)0、つまり「0番地を指すポインタ」と定義された
0
アルビレオ@炙りカルビ @albireo_B 2017年2月23日
wakurata nullは宿題のプリント自体がない状態。nullと不定値は同じ意味ではなく「nullを値として評価するときは不定値とみなす」です。浮動小数点のNaNのようにnull以外の不定値というのも存在する。「何が書かれてるか読み取れない宿題のプリント」は不定値だけどnullじゃないといえますね
0
mono @black_mono 2017年2月23日
言語によってnullの定義は違うから厳密になんていうことはできないわけで、これはプログラミングある程度わかってる人向けのギャグですね。細かいことに突っ込むのも、「どうでもいいことにあえて変な厳密さを持ったツッコミを入れる」というギャグの発展です(カエルの解剖)
3