|
发表于 2021-1-4 11:59:52
|
显示全部楼层
本楼为最佳答案
- #include <vector>
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- int i;
- int m,n;
- int ** arr1;
- int ** arr2;
- //第一种,用c++ stl vector 容器
- std::vector<std::vector<int> > arr3;
-
- scanf("%d,%d",&m,&n);
-
- //第二种c/c++通用,用malloc函数分配内存
- arr1 = (int **)malloc(m * sizeof(int *));
- for(i=0 ; i<m ; i++)
- {
- arr1[i] = (int *)malloc(n*sizeof(int));
- }
-
- //第三种 用 c++ new 关键字
- arr2 = new int * [m];
- for(i=0 ; i<m ; i++)
- {
- arr2[i] = new int[n];
- }
-
- //free 对应malloc
- for(i=0 ; i<m ; i++)
- {
- free(arr1[i]);
- }
- free(arr1);
-
- //delete 对应 new
- for(i=0 ; i<m ; i++)
- {
- delete [] arr2[i];
- }
- delete [] arr2;
- return 0;
- }
复制代码 |
|