C語言中二維數組如何申請動態分配內存

C語言中二維數組如何申請動態分配內存:數組

使用malloc函數,先分配第一維的大小,而後再循環分配每一維的大小函數

#include <stdio.h> 
#include <malloc.h> 

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; 
} 
相關文章
相關標籤/搜索