Menggunakan NULL atau 0 untuk Penunjuk dalam C : Keutamaan Peribadi atau Sebab Objektif?
Pada zaman awal C , persoalan sama ada untuk menggunakan NULL atau 0 sebagai perwakilan untuk penunjuk nol adalah dilema praktikal. Walau bagaimanapun, dengan evolusi bahasa, keputusan ini telah berkembang menjadi lebih kepada keutamaan.
Sifar lwn. NULL
Secara sejarah, sesetengah pengaturcara menggunakan 0 sebagai penunjuk nol, manakala yang lain lebih suka pemalar simbolik NULL, ditakrifkan sebagai penunjuk kekosongan dengan nilai 0. Pendekatan terakhir mendapat populariti sebagai cara untuk elakkan kekeliruan dengan nilai angka.
Walau bagaimanapun, seperti yang dijelaskan oleh Stroustrup dalam Soalan Lazim Gaya dan Teknik C, "Dalam C , takrifan NULL ialah 0, jadi hanya terdapat perbezaan estetik." Ini bermakna kedua-dua 0 dan NULL menilai kepada nilai yang sama.
Keutamaan Peribadi
Pilihan antara 0 dan NULL akhirnya bermuara kepada keutamaan peribadi. Sesetengah pengaturcara berpendapat bahawa menggunakan 0 lebih masuk akal dalam konteks boolean, kerana ia membenarkan perbandingan logik seperti if (p && !q). Sebaliknya, yang lain lebih suka NULL untuk menunjukkan nilai nol secara eksplisit dan mengelakkan kemungkinan salah faham.
C 11 and Beyond
Dengan pengenalan C 11, kata kunci baharu, nullptr , dicipta khusus untuk mewakili penunjuk nol. nullptr menyediakan keselamatan jenis dan boleh digunakan sebagai ganti 0 dan NULL, menawarkan penyelesaian yang lebih konsisten dan jelas.
Kesimpulan
Walaupun tiada peraturan keras mengenai penggunaan NULL atau 0, ia secara amnya bukan kebimbangan utama. Kuncinya adalah untuk mengekalkan konsistensi dalam pangkalan kod dan menggunakan kaedah yang paling sesuai dengan pilihan dan gaya pengaturcara.
Atas ialah kandungan terperinci NULL atau 0 untuk Penunjuk dalam C : Keutamaan atau Keperluan Objektif?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!