例一:
int **example_data , *test_data ,*distance;
//allocate space in heap for the variable
example_data = new int*[N];
for(int i=0;i<N;i++)
{
example_data[i] = new int[D];
}
test_data = new int[D];
distance = new int[N];
example_data = new int*[N];
for(int i=0;i<N;i++)
{
example_data[i] = new int[D];
}
test_data = new int[D];
distance = new int[N];
例二:
int example_data[N][D] , test_data[D] ,distance[N];
当然在函数内部两种访问数组的方式都可以:array[i][j]和*( *(array+i) + j)。
空间复杂度O(N*D),时间复杂度O(N*D)。
差别在于,例一这样写,是在堆空间里申请;否则,例二是用栈
对于静态数组: