That depends very much on how you reserve the space for your objects and initialize your pointers.
For example:
1 2 3
int* single = newint; //Not an array.
//vs.
int* array = newint[5]; //Array.
I used int* instead of int** for the example because the int** example is a lot more complicate- alright, whatever.
1 2 3 4 5 6
int** arrayofpoints = newint*[5]; //1d array.
int** pointtopoint = newint*; //Not an array.
int** twodarray = newint*[5];
for (int i = 0; i < 5; i++)
twodarray[i] = newint[5]; /*2d array, by the end of the day.
If I messed something up and I might've because I'm half-concious, let me know.*/
I hope this helped you understand the insanity behind pointers.