Rumah  >  Artikel  >  pembangunan bahagian belakang  >  \'const int\' vs. \'int const\': Apakah Perbezaan dalam C dan C ?

\'const int\' vs. \'int const\': Apakah Perbezaan dalam C dan C ?

DDD
DDDasal
2024-10-28 13:50:30697semak imbas

Parameter Fungsi dalam C dan C : 'const int' vs. 'int const'

Dua pengisytiharan parameter fungsi yang serupa dalam C dan C ialah 'const int' dan 'int const'. Walaupun mereka mungkin kelihatan sama, terdapat perbezaan halus antara kedua-duanya.

Pengisytiharan Const dalam C

Dalam C, pengisytiharan 'const int' membayangkan bahawa pembolehubah diluluskan sebagai parameter adalah malar, bermakna nilainya tidak boleh diubah suai dalam fungsi. Walau bagaimanapun, nilai yang dihantar sebagai hujah kepada parameter ini boleh menjadi pemalar atau pembolehubah.

Contoh:

<code class="c">int testfunc1 (const int a)
{
  // a is constant within the function, but the argument can be variable.
}</code>

Pengisytiharan Const dalam C

Dalam C , 'int const' mengikut peraturan yang sama seperti dalam C, tetapi 'const int' mempunyai tafsiran tambahan. Ia juga membayangkan bahawa pembolehubah dimulakan dengan nilai malar, yang tidak boleh diubah suai dalam fungsi.

Contoh:

<code class="cpp">int testfunc2(int const a)
{
  // Both a and the argument must be constants.
}</code>

Helah Membaca untuk Pengisytiharan

Untuk lebih memahami perbezaannya, helah yang berguna ialah membaca pengisytiharan ke belakang:

  • 'const int' dibaca sebagai "a ialah integer yang malar"
  • 'int const' dibaca sebagai "a ialah integer malar"

Implikasi

Kedua-dua pengisytiharan menunjukkan bahawa nilai yang diluluskan tidak boleh diubah suai dalam fungsi. Walau bagaimanapun, keperluan permulaan dalam C (untuk 'const int') menambah kekangan tambahan.

Contoh:

<code class="cpp">const char *s;      // s is a pointer to a char that is constant
char *const t = &c; // t is a constant pointer to a char</code>

Dalam kes ini, nilai ' s' boleh berubah (kerana ia penunjuk), tetapi nilai 't' tidak boleh.

Atas ialah kandungan terperinci \'const int\' vs. \'int const\': Apakah Perbezaan dalam C dan C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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