Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah C Boleh Mencipta Tatasusunan Bersaiz Pembolehubah pada Masa Jalan?

Bagaimanakah C Boleh Mencipta Tatasusunan Bersaiz Pembolehubah pada Masa Jalan?

DDD
DDDasal
2024-12-20 05:48:13894semak imbas

How Can C   Create Variable-Sized Arrays at Runtime?

Tasusunan Bersaiz Pembolehubah dalam C pada Masa Jalan

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!

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