#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; } /* 輸出: 0 1 2 3 1 2 3 4 2 3 4 5 */