/*C語言 如何動態創建二維數組 轉化為一維數組申請數組,創建和釋放都比較簡單 */ #include <stdlib.h> #include <stdio.h> #include <malloc.h> #define RANK 10 #define COLUMN 7 int main() { int i,j; int (*p)[COLUMN]; //動態生成二維數組,指定列數為COLUMN,如果想改,自己該里面 //的參數,如果想定義n行2列就為: p=(int (*)[2])malloc(n*2*sizeof(int)); p=(int (*)[COLUMN])malloc(RANK*COLUMN*sizeof(int)); //動態申請n行COLUMN列的二維數組 for(i=0;i<RANK;i++) for(j=0;j<COLUMN;j++) p[i][j]=i*j; for(i=0;i<RANK;i++) { for(j=0;j<COLUMN;j++) printf("%d,",p[i][j]); printf("\n"); } free(p); system("pause"); return 0; }
當然,還有第二種方法,這里就不測試了,只是為了工程實用性,哈哈