溫馨提示×

c語言怎么定義變長數(shù)組

小億
82
2024-09-03 22:10:09
欄目: 編程語言

在C語言中,要定義一個變長數(shù)組(VLA),需要使用動態(tài)內(nèi)存分配。這是因?yàn)镃語言不支持變長數(shù)組作為函數(shù)參數(shù)或返回值。以下是如何定義和使用變長數(shù)組的示例:

#include<stdio.h>
#include <stdlib.h>

int main() {
    int n;

    printf("Enter the size of the array: ");
    scanf("%d", &n);

    // 使用malloc分配內(nèi)存空間
    int *vla = (int *) malloc(n * sizeof(int));

    if (vla == NULL) {
        printf("Memory allocation failed.\n");
        return 1;
    }

    printf("Enter %d elements:\n", n);
    for (int i = 0; i < n; i++) {
        scanf("%d", &vla[i]);
    }

    printf("The entered elements are:\n");
    for (int i = 0; i < n; i++) {
        printf("%d ", vla[i]);
    }
    printf("\n");

    // 釋放分配的內(nèi)存
    free(vla);

    return 0;
}

在這個示例中,我們首先從用戶那里獲取數(shù)組的大?。?code>n),然后使用malloc函數(shù)為變長數(shù)組分配內(nèi)存。接下來,我們將用戶輸入的元素存儲在變長數(shù)組中,并打印出這些元素。最后,我們使用free函數(shù)釋放分配的內(nèi)存。

0