Apakah saya diizinkan menggunakan NULL
pointer 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
NULL
cara ini? - Apakah ada yang salah dengan menggunakan
NULL
sebagai 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
, \0
dan 0
, tetapi saya tidak mendapatkan informasi yang ringkas dari sana, jika cukup diizinkan dan juga hak untuk digunakan NULL
sebagai nilai untuk beroperasi dengan dalam penugasan dan operasi aritmatika lainnya.