Tatasusunan bersaiz boleh ubah ialah ciri yang diperkenalkan dalam C99. Tidak seperti tatasusunan C tradisional, saiznya boleh ditentukan pada masa jalan.
Dalam coretan kod yang disediakan:
int main(int argc, char **argv) { size_t size; cin >> size; int array[size]; // ... }
Saiz tatasusunan tidak ditentukan pada masa penyusunan tetapi ditentukan oleh input pengguna pada masa jalan. Ini dibenarkan dalam C99 dan disokong oleh pengkompil yang disediakan, kemungkinan besar GCC.
Perlu ambil perhatian bahawa memori untuk tatasusunan diperuntukkan pada tindanan, serupa dengan tatasusunan saiz tetap. Ini berbeza daripada teknik peruntukan memori dinamik seperti malloc dan baru. Oleh itu, pengkompil memperuntukkan tatasusunan terus pada tindanan, mengelakkan overhed operasi timbunan.
Atas ialah kandungan terperinci Bagaimanakah C Boleh Mencipta Tatasusunan Bersaiz Pembolehubah pada Masa Jalan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!