溫馨提示×

c語言怎么用變量定義數組大小

小億
686
2024-01-02 13:32:45
欄目: 編程語言

在C語言中,數組的大小必須是一個常量表達式,而不能使用變量來定義數組大小。這是因為數組在編譯時就需要分配內存空間,而變量的值只能在運行時確定,所以無法使用變量來定義數組的大小。

如果需要根據變量的值來確定數組的大小,可以使用動態內存分配來解決??梢允褂胢alloc函數來動態分配內存,并利用變量的值來確定分配的大小。以下是一個示例代碼:

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

int main() {
    int size;
    printf("請輸入數組的大?。?quot;);
    scanf("%d", &size);
    
    int *array = (int*) malloc(size * sizeof(int));
    
    if (array == NULL) {
        printf("內存分配失敗\n");
        return 1;
    }
    
    for (int i = 0; i < size; i++) {
        printf("請輸入第%d個元素的值:", i+1);
        scanf("%d", &array[i]);
    }
    
    printf("數組的元素為:");
    for (int i = 0; i < size; i++) {
        printf("%d ", array[i]);
    }
    
    free(array);
    
    return 0;
}

在上述代碼中,首先從用戶那里獲取了數組的大小,并使用malloc函數動態分配了對應大小的內存空間。然后,使用循環結構獲取用戶輸入的數組元素的值。最后,輸出數組的元素并使用free函數釋放了之前分配的內存空間。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女