Mảng có kích thước thay đổi là cấu trúc dữ liệu có độ dài được xác định trong thời gian chạy chứ không phải thời gian biên dịch. Các mảng này rất hữu ích trong việc đơn giản hóa lập trình thuật toán số. C99 là một tiêu chuẩn lập trình C cho phép các mảng có kích thước thay đổi.
Một chương trình chứng minh các mảng có kích thước thay đổi trong C được đưa ra như sau -
Ví dụ
#include int main(){ int n; printf("Enter the size of the array: \n"); scanf("%d", &n); int arr[n]; for(int i=0; i<n; i++) arr[i] = i+1; printf("The array elements are: "); for(int i=0; i<n; i++) printf("%d ", arr[i]); return 0; }
Đầu ra
Kết quả của chương trình trên như sau -
Enter the size of the array: 10 The array elements are: 1 2 3 4 5 6 7 8 9 10
Bây giờ chúng ta hãy hiểu chương trình trên.
Mảng arr [] là một mảng có kích thước thay đổi trong chương trình trên vì độ dài của nó được xác định tại thời điểm chạy bằng giá trị do người dùng cung cấp. Đoạn mã hiển thị điều này như sau:
int n; printf("Enter the size of the array: \n"); scanf("%d", &n); int arr[n];
Các phần tử mảng được khởi tạo bằng vòng lặp for và sau đó các phần tử này được hiển thị. Đoạn mã hiển thị điều này như sau -
for(int i=0; i<n; i++) arr[i] = i+1; printf("The array elements are: "); for(int i=0; i<n; i++) printf("%d ", arr[i]);