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; 
} 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM