Menentukan Jenis Literal Rentetan
Ramai pengaturcara bergelut untuk memahami jenis literal rentetan. Adakah ia const char * (penunjuk kepada aksara malar) atau const char (karakter malar)?
Jawapannya terletak pada perwakilan literal rentetan dalam C . Tidak seperti dalam C, di mana literal rentetan disimpan sebagai tatasusunan aksara dengan penamat null (' ') ditambah pada penghujungnya, dalam C , literal rentetan pada asasnya const char[N]. Di sini, N menandakan panjang rentetan (termasuk penamat nol).
Pada dasarnya, const char[N] dan char const[N] adalah setara. Ini menunjukkan bahawa anda boleh menentukan panjang literal rentetan dengan pasti menggunakan sizeof("hello") - 1, yang mengira dengan tepat bilangan aksara dalam rentetan (termasuk sebarang aksara nol terbenam). Jika literal rentetan ialah penunjuk, pendekatan ini akan gagal kerana ia akan sentiasa mengembalikan saiz penunjuk dalam sistem anda tolak satu.
Atas ialah kandungan terperinci Apakah Jenis Sebenar String Literal dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!