方法一:使用数组指针用new开辟空间
执行结果:
#include<iostream> using namespace std; #define ROW 3 #define COL 4 void main() { int(*p)[COL] = new int[ROW][COL]; for(int i=0; i<ROW; ++i) { for(int j=0; j<COL; ++j) { p[i][j] = i+j; } } for(i=0; i<ROW; ++i) { for(int j=0; j<COL; ++j) { cout<<p[i][j]<<" "; } cout<<endl; } delete []p; }
方法二:C语言的方法
#include <iostream> using namespace std; #define ROW 3 #define COL 4 void main() { int **p = (int **)malloc(sizeof(int*)*ROW); for(int i=0; i<ROW; ++i) { p[i] = (int *)malloc(sizeof(int) * COL); } for(i=0; i<ROW; ++i) { for(int j=0; j<COL; ++j) { p[i][j] = i+j; } } for(i=0; i<ROW; ++i) { for(int j=0; j<COL; ++j) { cout<<p[i][j]<<" "; } cout<<endl; } for(i=0; i<ROW; ++i) { free(p[i]); //delete []p[i] } free(p); //delete []p; }
执行结果: