Rumah > pembangunan bahagian belakang > C++ > Apakah Jenis Sebenar String Literal dalam C?

Apakah Jenis Sebenar String Literal dalam C?

Susan Sarandon
Lepaskan: 2024-10-27 21:24:30
asal
307 orang telah melayarinya

 What is the True Type of a String Literal in C  ?

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!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan