トップページ > プログラム > 2016年12月23日 > S57Ht5Rq0

書き込み順位&時間帯一覧

25 位/200 ID中時間01234567891011121314151617181920212223Total
書き込み数0000200000000000000000002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん (ワッチョイ ff42-W2u1)
C言語なら俺に聞け 138 [無断転載禁止]©2ch.net

書き込みレス一覧

C言語なら俺に聞け 138 [無断転載禁止]©2ch.net
187 :デフォルトの名無しさん (ワッチョイ ff42-W2u1)[]:2016/12/23(金) 04:35:35.84 ID:S57Ht5Rq0
ふつうの処理系だとNULLの値は0では?
ながれしらんが
C言語なら俺に聞け 138 [無断転載禁止]©2ch.net
188 :デフォルトの名無しさん (ワッチョイ ff42-W2u1)[]:2016/12/23(金) 04:39:13.55 ID:S57Ht5Rq0
NULL ‐ 通信用語の基礎知識

NULLマクロは、stdio.hなどをincludeすると定義される。
NULLポインターは、実装上の制約からアドレスであり、その環境内において、決して他に使用されることのない番地を用いることになる。
したがって、その値は環境によって異なる。
Cでは、移植性に配慮し、これをNULLマクロによって定義した。

0番地
殆どのプロセッサー環境で、そのアドレスは0番地が使われる。
まれに異なる番地を用いるシステムもあるが、Cの規格上、その場合も0番地と可換でなければならない。
結果として、NULLポインターは0と書いておけば、Cコンパイラーが自動的に対応してくれることになっている。

定義Cでは、殆どの環境で次のように定義されている。
#define NULL ((void *)0)
但し、C++ではこの定義をそのまま使えない。
C++はvoid *から他のポインター型に暗黙的な変換をせず、エラーになるからである。
C++では数値の0をNULLポインターとして使うことになったため、C++では次のように定義されている可能性がある。
#define NULL 0
http://www.wdic.org/w/TECH/NULL


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。