int* p = newint[size]; for(int i = 0;i<size;i++) { cin >> p[i]; }
随后你可以使用p[i]来访问创建动态数组中的元素了;
创建二维数组同理,但你需要一个指向指针的指针,即指向int类型的指针,我们用int*来表示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
int m; cin >> m; int** light = new int* [m]; for (int i =0; i < m; i++) { light[i] = new int[n]; } for (int i =0; i < m; i++) { cin >> light[i][0] >> light[i][1]; } for (int i =0; i < m; i++) { cout << light[i][0] << " " << light[i][1] << endl; }
这是一种生成矩阵的方式,不过,初始化这种二维数组,比较复杂,可以使用vector来规避
还有另一种创建二维数组的方式
1 2 3 4 5
int m; cin >> m; int (*rows)[m]; \\定义一个int指针的数组 rows=newint[m]; \\指针指向int空间 \\这将会生成一个m*m的矩阵,由于我们定义了一个指针数组,那么,这样就可规避循环初始化