Rumah > pembangunan bahagian belakang > C++ > NULL lwn. 0 dalam C : Manakah Penunjuk Null yang Lebih Baik?

NULL lwn. 0 dalam C : Manakah Penunjuk Null yang Lebih Baik?

Barbara Streisand
Lepaskan: 2024-12-14 19:00:15
asal
738 orang telah melayarinya

NULL vs. 0 in C  : Which is the Better Null Pointer?

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan