Rumah > Artikel > pembangunan bahagian belakang > Bolehkah GCC Mengisytiharkan Saiz Tatasusunan dengan Pembolehubah Tidak Malar?
Mengisytiharkan Saiz Tatasusunan dengan Pembolehubah Bukan Malar: Sambungan GCC
Walaupun pemahaman umum bahawa pengisytiharan saiz tatasusunan dalam C memerlukan nilai integer malar , telah diperhatikan bahawa kod tertentu, seperti:
<code class="cpp">int ArraySize = 5; int MyArray[ArraySize];</code>
berjaya menyusun dalam sesetengah persekitaran. Pengecualian ini timbul daripada sambungan GCC.
Mengikut garis panduan C, tatasusunan terikat hendaklah ungkapan yang tetap. Penjelasan dari The C Programming Language oleh Bjarne Stroustrup juga mengukuhkan tanggapan ini. Walau bagaimanapun, GCC membenarkan penggunaan pembolehubah bukan malar untuk pengisytiharan saiz tatasusunan sebagai lanjutan kepada standard.
Bagi mereka yang mengutamakan mudah alih, disyorkan untuk menggunakan pilihan '-pedantic' untuk menerima amaran untuk perkara tersebut. sambungan. Sebagai alternatif, '-std=c 98' boleh digunakan untuk menganggapnya sebagai ralat dan memastikan pematuhan kepada standard.
Atas ialah kandungan terperinci Bolehkah GCC Mengisytiharkan Saiz Tatasusunan dengan Pembolehubah Tidak Malar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!