何でNULLって言うんですか?
■ このスレッドは過去ログ倉庫に格納されています
0001しんや
2010/06/09(水) 11:13:37分かるのですが、何でNULLっていうのか分かりません。
困ってるので誰か教えてください(><)
0002しんや
2010/06/09(水) 11:52:420003デフォルトの名無しさん
2010/06/09(水) 12:12:37言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
0004デフォルトの名無しさん
2010/06/09(水) 14:15:100005デフォルトの名無しさん
2010/06/09(水) 14:16:460006デフォルトの名無しさん
2010/06/09(水) 14:36:05ポインタを「意味の無い値」にしておくと便利なことがあるんだよ
NULLになったの理由は、プリプロセッサ指令でdefineしたトークンは全ての文字をキャピタルにするのが慣例だから
別に俺様ヌルとして、nilとかnullとかNullとかNullPointerとかNILとかなんでも定義して構わない
一応規格では、0または(void *)0をnull pointer constantと定義しているので、それに合わせておけば俺様定義で問題ない
#ifndef NIL
# define NIL ((void *)0)
#endif /* NIL */
こういうことね
そのほか、ポインタを返すスタブとかでNULLの代わりとして、しばしば0を返すことがある
といってみるテスト
0007デフォルトの名無しさん
2010/06/09(水) 14:51:09NULLを返すのか0を返すのか判別する方法は?
0008デフォルトの名無しさん
2010/06/09(水) 14:56:220009デフォルトの名無しさん
2010/06/09(水) 16:43:280010デフォルトの名無しさん
2010/06/09(水) 21:01:55まずはこの板のローカルルールを勉強しましょう
0011デフォルトの名無しさん
2010/06/09(水) 21:26:12Unified
Linear
Linkage
の略だよ。データモデルの一種だね。
0012デフォルトの名無しさん
2010/06/09(水) 21:32:390013デフォルトの名無しさん
2010/06/09(水) 22:34:300014デフォルトの名無しさん
2010/06/09(水) 23:10:43の略だよ
C言語を作った人はテクノポップアイドルユニットのファンだったんだね。
0015デフォルトの名無しさん
2010/06/10(木) 03:09:26lisper涙目
0016デフォルトの名無しさん
2010/06/10(木) 03:39:20> 一応規格では、
どこの規格だよ
0017デフォルトの名無しさん
2010/06/10(木) 04:25:386.3.2.3 Pointers
3 An integer constant expression with the value 0, or such an expression cast to type
void *, is called a null pointer constant .55)
55) The macro NULL is defined in <stddef.h> (and other headers) as a null pointer constant; see 7.17.
7.17 Common definitions <stddef.h>
3 The macros are
NULL
which expands to an implementation-defined null pointer constant
もうこのやりとり飽きたんだが、いい加減覚えてくれないか
前から何度も言っているが、規格見てから言ってくれと
0018デフォルトの名無しさん
2010/06/10(木) 04:29:03s/Languale/Languages/
s/fi/fi/g
0019デフォルトの名無しさん
2010/06/14(月) 13:25:080020デフォルトの名無しさん
2010/06/14(月) 13:30:130021デフォルトの名無しさん
2010/06/14(月) 13:32:140022デフォルトの名無しさん
2010/06/26(土) 16:24:210023デフォルトの名無しさん
2010/06/26(土) 19:42:50■ このスレッドは過去ログ倉庫に格納されています