直接放代码吧,主要还是要理解直接创建的数组空间和先创建指针后面再创建空间的区别
#include "stdio.h"
#include "stdlib.h"
#include <iostream>
using namespace std;
int getNum(int **arr);
int getNum2(int arr[][20]);
int getNum3(int *arr);
int getNum4(int arr[]);
int getNum5(int *arr[20]);
int main(void)
{
int **arr;
arr = new int*[20];
int arr2[20][20];
int *arr3;
arr3 = new int[20];
int arr4[20];
int *arr5[20];
for(int i = 0;i<20;i++){
arr[i] = new int[20];
arr5[i] = new int[20];
arr3[i] = 10;
arr4[i] = 10;
}
for(int i = 0;i<20;i++)
{
for(int j = 0;j<20;j++){
arr[i][j] = 10;
arr2[i][j] = 10;
arr5[i][j] = 10;
}
}
cout << getNum(arr) << endl;
cout << getNum2(arr2) << endl;
cout << getNum3(arr3) << endl;
cout << getNum3(arr4) << endl;
cout << getNum4(arr3) << endl;
cout << getNum4(arr4) << endl;
cout << getNum5(arr5) << endl;
cout << getNum5(arr) << endl;
}
int getNum(int **arr)
{
return arr[1][6];
}
int getNum2(int arr[][20])
{
return arr[1][6];
}
int getNum3(int *arr)
{
return arr[0];
}
int getNum4(int arr[])
{
return arr[0];
}
int getNum5(int *arr[])
{
return arr[1][6];
}
|