程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言問答 >> C語言定義元素不確定的數組

C語言定義元素不確定的數組

編輯:C語言問答

C語言定義元素不確定的數組

我想在C語言中定義一個數組,要求數組中元素的個數由用戶確定,即用戶先輸入一個數,然後再定義一個元素個數與用戶輸入的數相同的數組,下面的寫法不正確:

int a;

scanf("%d",&a);

int b[a];

請問該怎麼寫?謝謝!

最佳回答:

使用動態數組即可。
1、使用malloc函數,先分配第一維的大小,然後再循環分配每一維的大小。
2、例程,分配3行4列二維數組:

#include 
#include 
int main()
{
    int **a;
    int i, j;
    a = (int**)malloc(sizeof(int*)*3);//為二維數組分配3行
    for (i = 0; i < 3; ++i){//為每列分配4個大小空間
        a[i] = (int*)malloc(sizeof(int)*4);
    }
    //初始化
    for (i = 0; i < 3; ++i){
        for (j = 0; j < 4; ++j){
            a[i][j] = i+j;
        }
    }
    //輸出測試
    for (i = 0; i < 3; ++i){
        for (j = 0; j < 4; ++j){
            printf ("%d ", a[i][j]);
        }
        printf ("\n");
    }
    //釋放動態開辟的空間
    for (i = 0; i < 3; ++i){
        free(a[i]);
    }
    free(a);
    return 0;
}
/*
輸出:
0 1 2 3
1 2 3 4
2 3 4 5
*/
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved