C語言動態分配二維數組

方式一:

#include <stdio.h>
#include <stdlib.h>
void main()
{
    int m = 4, n = 3;
    int **myArray;
    myArray = (int**) malloc (m * sizeof(int*));
    for(int t = 0; t < m; t++)
        myArray[t] = (int*) malloc (n * sizeof(int));
    for(int t = 0; t < m; t++)
    {
        free(myArray[t]);
    }  
    free(myArray);
    return;
}

方式二:

#include <stdio.h>
#include <stdlib.h>
void main()
{
    int m = 4, n = 3;
    int** myArray, **_myArray;
      
    myArray = _myArray = (int**) malloc (m * sizeof(int*));
    for(int t = 0; t < m; t++)
        *_myArray++ = (int*) malloc (n * sizeof(int));
      
    for(int t = 0; t < m; t++)
    {
        free(myArray[t]);
    }  
    free(myArray);
    return;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章