Rumah > pembangunan bahagian belakang > C++ > Pengisytiharan Penunjuk C/C: `char* p;` lwn. `char *p;` – Apakah Perbezaannya?

Pengisytiharan Penunjuk C/C: `char* p;` lwn. `char *p;` – Apakah Perbezaannya?

Mary-Kate Olsen
Lepaskan: 2024-12-25 21:53:22
asal
330 orang telah melayarinya

C/C   Pointer Declaration: `char* p;` vs. `char *p;` – What's the Difference?

Mengisytiharkan Pembolehubah Penunjuk dalam C/C : Penjelasan Sintaks

Dalam bidang penunjuk dalam C dan C , terdapat variasi sintaksis kecil yang telah mencetuskan beberapa perdebatan: penempatan asterisk (*) dalam pengisytiharan penunjuk. Sesetengah pengaturcara memilih notasi (a):

char* p;
Salin selepas log masuk

manakala yang lain memilih (b):

char *p;
Salin selepas log masuk

Apakah rasional di sebalik dua notasi yang berbeza ini?

Bjarne Stroustrup, pencipta C , menjelaskan isu ini. Beliau menjelaskan bahawa pilihan bergantung bukan pada ketepatan tetapi pada keutamaan gaya dan penekanan pengaturcaraan.

Dalam C, ungkapan diutamakan daripada pengisytiharan, yang sering dilihat sebagai kurang penting. Walau bagaimanapun, C memberikan penekanan yang kuat pada jenis.

Pengikut gaya pengaturcaraan C memihak kepada notasi (a), dengan alasan bahawa "*p" mewakili nilai penyahrujukan penunjuk, sejajar dengan struktur sintaksis C bahasa.

Sementara itu, penyokong gaya pengaturcaraan C lebih suka notasi (b), menekankan jenis pembolehubah penunjuk itu sendiri. Jenis "p" dalam tatatanda (b) dikenal pasti secara eksplisit sebagai "int*", menyerlahkan peranannya sebagai penunjuk kepada integer.

Dari sudut kebolehbacaan, tatatanda (b) kelihatan lebih konsisten, terutamanya apabila mengisytiharkan berbilang penunjuk dalam satu baris. Meletakkan asterisk dengan pembolehubah, seperti dalam "char c, d", sejajar dengan gerak hati bahawa kedua-dua "c" dan "d" adalah penunjuk kepada aksara.

Akhirnya, keputusan antara tatatanda (a) dan (b) adalah perkara keutamaan peribadi. Walau bagaimanapun, memandangkan peningkatan kelaziman C dan penekanannya pada jenis, tatatanda (b) biasanya disyorkan untuk meningkatkan kejelasan dan kebolehbacaan dalam kod anda.

Atas ialah kandungan terperinci Pengisytiharan Penunjuk C/C: `char* p;` lwn. `char *p;` – Apakah Perbezaannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan