意図的にCでNULLポインタを取得しようとしましたが、これを実行できませんでした。ここで私はコーディングされたものです。CでNULLポインタエラーが発生しない
int main(void) {
int x; //UNINITIALIZED so that it will represent "nothing"
int *null_test = &x;
printf("This should be null %p \n", null_test);
}
をしかし、それは私の住所与えた:0x7fd96c300020
私は期待していたとしてNULL
ように見えるdoes notの。
なぜ?私はx
を初期化していませんでしたが、まだヌルではありませんか?
あなたは 'NULL_test'に' NULL'を割り当てませんでした。 –
あなたが必要とするのは 'int * null_test = 0;' –
'int x'が' int'を定義するだけです。 'int'は定義によって' NULL'にすることはできません。ポインタは 'NULL'でもかまいません。 – alk