The same way - arrays are basically just pointers (and will turn into pointers at the smallest opportunity). Example:
1 2 3 4 5 6 7 8 9 10 11 12
// pointer to pointer - allocate with new
int** pointerArrayOfIntPointers = newint*[3];
// allocate the values of the array
for (unsigned i = 0; i < 3; ++i)
pointerArrayOfIntPointers[i] = newint;
// ... - use the array here somehow
// clean up to prevent memory leaks
for (unsigned i = 0; i < 3; ++i)
delete pointerArrayOfIntPointers[i];
delete[] pointerArrayOfIntPointers;