7
値0の代わりにNULLを使用できますか?
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として、代入やその他の算術演算で操作する値。