Rumah >pembangunan bahagian belakang >C++ >NULL atau Zero untuk Penunjuk dalam C : Mana Yang Perlu Anda Pilih?

NULL atau Zero untuk Penunjuk dalam C : Mana Yang Perlu Anda Pilih?

Patricia Arquette
Patricia Arquetteasal
2024-12-26 17:56:14255semak imbas

NULL or Zero for Pointers in C  : Which Should You Prefer?

Mengutamakan NULL atau Sifar untuk Penunjuk dalam C

Dalam C , topik penggunaan NULL atau sifar (0) untuk penunjuk telah menjadi perkara perbahasan untuk beberapa lama. Walaupun hari-hari awal C mengehadkan NULL kepada tanda kosong*, ia telah ditakrifkan semula sebagai 0. Walau bagaimanapun, sesetengah individu terus memilih sifar.

Mereka yang memilih sifar berpendapat bahawa ia sememangnya lebih logik dan mudah. Mereka berpendapat bahawa memandangkan sifar boleh digunakan untuk perbandingan nilai kebenaran, ia lebih masuk akal daripada NULL, yang memerlukan perbandingan yang jelas. Selain itu, mereka mempersoalkan nilai memberi nama (NULL) kepada nilai sedia ada.

Sebaliknya, mereka yang memilih NULL memetik panduan yang disediakan oleh Bjarne Stroustrup, pencipta C . Menurut Stroustrup, takrifan NULL dalam C ialah 0, menjadikannya pada asasnya keutamaan estetik. Dia mengesyorkan mengelakkan makro, termasuk NULL, dan sebaliknya menggunakan 0.

Stroustrup juga menyatakan bahawa dalam C 11, kata kunci nullptr telah diperkenalkan sebagai nama rasmi untuk penuding nol. Ini menyediakan cara yang jelas dan konsisten untuk mewakili penunjuk nol dalam kod.

Akhirnya, pilihan antara sifar dan NULL mungkin bergantung kepada keutamaan peribadi. Walau bagaimanapun, adalah penting untuk mempertimbangkan pendapat masyarakat dan bimbingan yang diberikan oleh pencipta bahasa. Dalam kes di mana kejelasan dan konsistensi adalah penting, menggunakan nullptr adalah disyorkan.

Atas ialah kandungan terperinci NULL atau Zero untuk Penunjuk dalam C : Mana Yang Perlu Anda Pilih?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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