NULL
の値の代わりにポインタを使用でき0
ますか?
それとも、そのことについて何か問題がありますか?
たとえば、
int i = NULL;
の代わりとして:
int i = 0;
実験として、次のコードをコンパイルしました。
#include <stdio.h>
int main(void)
{
int i = NULL;
printf("%d",i);
return 0;
}
出力:
0
確かにそれは私にこの警告を与えます、それ自体は完全に正しいです:
warning: initialization makes integer from pointer without a cast [-Wint-conversion]
しかし、結果は同じです。
- これで「未定義の動作」にぶつかりますか?
NULL
このように利用することは許されますか?NULL
算術式の数値として使用することに問題はありますか?- そして、この場合のC ++の結果と動作は何ですか?
私はの答え読み持っている「\ 0」、NULLの違いは何をして0との違いは何かについてNULL
、\0
そして0
それが正しい使用にも非常に許容され、場合、ですが、私はそこからの簡潔な情報を取得していないNULL
として、代入やその他の算術演算で操作する値。