#include #include int main() { int **a; a = new int* [3]; a[0] = new int [5]; a[1] = new int [5]; a[2] = new int [5]; for (int i=0; i<5; i++) { a[0][i] = i*100; a[1][i] = i*200+1; a[2][i] = i*300+2; } printf("a[2][4] = %i\n", a[2][4]); //1202 int *aaa; aaa = a[2]; delete[] a[0]; //delete the Array of integers delete[] a[1]; //delete the Array of integers printf("aaa[4] = %i\n", aaa[4]); //1202 delete[] a[2]; //delete the Array of integers printf("aaa[4] = %i\n", aaa[4]); //Oops~ no longer there. You should see strange value here delete[] a; //finally we delete the Array of pointers // note that we don't need to delete aaa, since we didn't declare it dynamically return 0; }