Apakah saya diizinkan menggunakan NULLpointer sebagai pengganti nilai 0?
Atau adakah yang salah dengan perbuatan itu?
Seperti, misalnya:
int i = NULL;
sebagai pengganti:
int i = 0;
Sebagai percobaan saya menyusun kode berikut:
#include <stdio.h>
int main(void)
{
int i = NULL;
printf("%d",i);
return 0;
}
Keluaran:
0
Memang itu memberi saya peringatan ini, yang sepenuhnya benar sendiri:
warning: initialization makes integer from pointer without a cast [-Wint-conversion]
tetapi hasilnya masih setara.
- Apakah saya beralih ke "Perilaku Tidak Terdefinisi" dengan ini?
- Apakah diizinkan menggunakan
NULLcara ini? - Apakah ada yang salah dengan menggunakan
NULLsebagai nilai numerik dalam ekspresi aritmatika? - Dan apa hasil dan perilaku di C ++ untuk kasus ini?
Saya telah membaca jawaban dari Apa perbedaan antara NULL, '\ 0' dan 0 tentang apa perbedaan antara NULL, \0dan 0, tetapi saya tidak mendapatkan informasi yang ringkas dari sana, jika cukup diizinkan dan juga hak untuk digunakan NULLsebagai nilai untuk beroperasi dengan dalam penugasan dan operasi aritmatika lainnya.