Memahami Perbezaan: char vs char rentetan
Apabila mengisytiharkan rentetan yang ditamatkan nol dalam C , format pengisytiharan itu boleh menimbulkan persoalan. Pilihannya ialah "char string" atau "char string." Untuk memahami perbezaannya, mari kita teliti setiap pengisytiharan:
"rentetan char*":
Dalam pengisytiharan ini, "rentetan" ialah penunjuk kepada aksara. Ia menunjukkan bahawa "rentetan" memegang alamat aksara. Pada asasnya, "rentetan" itu sendiri bukanlah aksara tetapi penunjuk yang menunjuk ke lokasi memori yang menyimpan aksara.
"char *string":
Bertentangan dengan pengisytiharan sebelumnya, di sini "rentetan" ialah satu aksara. Pengisytiharan itu membayangkan bahawa "rentetan" ialah aksara dalam haknya sendiri, bukan penunjuk kepada aksara.
Berdasarkan perbezaan ini, menjadi jelas bahawa "rentetan char*" ialah pengisytiharan yang lebih sesuai kerana ia tepat mewakili sifat objek sebagai penuding kepada watak.
Mengapa Format Terakhir Lazimnya Dilihat:
Walaupun "char string" lebih logik, format konvensional "char string" sering diperhatikan. Amalan ini berpunca daripada isu yang berpotensi dalam mengisytiharkan berbilang pembolehubah dalam satu baris. Pertimbangkan coretan berikut:
char* string1, string2;
Pengisytiharan ini boleh membawa kepada kekaburan kerana tidak jelas sama ada "rentetan2" juga merupakan penunjuk atau aksara tunggal. Untuk mengelakkan kekeliruan sedemikian, penggunaan "char rentetan" secara amnya diterima apabila mengisytiharkan berbilang pembolehubah, menempah "char rentetan" untuk pengisytiharan penunjuk individu.
Atas ialah kandungan terperinci Apakah perbezaan antara `char* string` dan `char *string` dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!