C/C++动态申请二维数组的区别
紧接着上一篇C++博客,这篇继续写到C/C++关于动态申请二维数组的区别。
1、C语言中动态申请二维数组
二维数组的开辟:先开辟二维,再开辟一维。
代码核心实现:
//动态申请
int arr[10][10];
int **arr = (int **)malloc(sizeof(int *)*10);
for(int i = 0;i < 10;i++)
{
arr[i] = (int *)malloc(sizeof(int)*10);
}
//释放
for(int i = 0;i < 10;i++)
{
free(arr[i]);
}
free(arr);
2、C++中动态申请二维数组
二维数组的开辟:先开辟二维,再开辟一维。
代码核心实现:
//动态申请
int **arr = new int*[10];
for(int i = 0;i < 10;i++)
{
arr[i] = new int[10];
}
//释放
for(int i = 0;i < 10;i++)
{
delete arr[i];
}
delete arr;