方法一:
#define ROW 3 #define COL 4 void Test() { int(*p)[ROW] = (int(*)[ROW])malloc(sizeof(int)*ROW*COL); for (int i = 0; i < ROW; ++i) { for (int j = 0; j < COL; ++j) { p[i][j] = i*COL +j; } } for (int i = 0; i < ROW; ++i) { for (int j = 0; j < COL; ++j) { printf("%d ", p[i][j]); } } }
方法二:
void Test() { int **p = (int **)malloc(sizeof(sizeof(int*)*ROW)); for (int i = 0; i < ROW; ++i) { p[i] = (int *)malloc(sizeof(int)*COL); } for (int i = 0; i < ROW; ++i) { for (int j = 0; j < COL; ++j) { p[i][j] = i*COL + j; } } for (int i = 0; i < ROW; ++i) { for (int j = 0; j < COL; ++j) { printf("%d ", p[i][j]); } } }