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として、代入やその他の算術演算で操作する値。