Rumah >pembangunan bahagian belakang >C++ >NULL lwn. 0 dalam C : Manakah Penunjuk Null yang Lebih Baik?
Petunjuk dalam C : NULL lwn. 0
Dalam sejarah pengaturcaraan C, perbahasan berbangkit tentang: Sekiranya anda menggunakan NULL atau 0 (sifar) untuk penunjuk nol? Walaupun sesetengah pengaturcara berpegang teguh pada tradisi menggunakan 0, yang lain bersumpah dengan NULL. Tetapi pendekatan manakah yang benar-benar unggul?
Pada asalnya, NULL tidak boleh digunakan dalam C kerana takrifannya sebagai (kosong*)0. Walau bagaimanapun, dengan kemunculan C 11, permainan berubah. Kini, NULL ditakrifkan secara eksplisit sebagai 0, menjadikan ia berfungsi sama dengan rakan sejawat berangkanya.
Penyokong 0 berpendapat bahawa ia adalah pilihan yang lebih logik untuk menguji nilai kebenaran. Seperti yang ditunjukkan oleh coretan kod yang disediakan, sifar secara semula jadi sesuai dengan perbandingan logik menggunakan operator seperti if (p && !q). Menggunakan NULL, sebaliknya, memerlukan perbandingan eksplisit terhadap NULL melainkan anda menganggap NULL sama dengan 0, yang mana tidak dapat tujuan menamakannya.
Bjarne Stroustrup, pencipta C , telah mempertimbangkan perkara ini, menyatakan bahawa pilihan antara NULL dan 0 sebahagian besarnya adalah estetik. Walau bagaimanapun, dia memilih 0 kerana keutamaannya untuk mengelakkan makro dan kemungkinan salah tafsir yang dikaitkan dengan NULL.
Akhirnya, keputusan antara NULL dan 0 adalah soal keutamaan peribadi. Kedua-dua pendekatan mempunyai kelebihannya, jadi pilih pendekatan yang paling sesuai dengan gaya pengekodan anda. Walau bagaimanapun, perlu diingat bahawa C 11 memperkenalkan kata kunci nullptr khusus untuk tujuan ini, jadi adalah wajar mempertimbangkan penggunaannya untuk kejelasan dan konsistensi.
Atas ialah kandungan terperinci NULL lwn. 0 dalam C : Manakah Penunjuk Null yang Lebih Baik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!