A sumuje dobrze?
Bo to co wypisuje Ci pod tym: "--- wypisanie 1d ---" to są najprawdopodobniej adresy na pierwsze elementy tablic jednowymiarowych, które składają się na tablicę dwuwymiarową. Bo jak wiadomo tablica dwuwymiarowa to tablica tablic, więc wypisanie tylko jedno wymiaru daje adresy poszczególnych tablic tablicy.
Czyli, analogicznie jak masz:
int tablica[3] = { 1, 2, 3};
cout << tablica[0] << endl; // wypisuje wartość pierwszego elementu czyli 1
cout << *tablica << endl; // również wypisuje wartość pierwszego elementu, ponieważ tablice to są tak naprawdę wskaźniki
cout << tablica << ednl; // wypisuje adres pierwszego elementu
cout << *(tablica+1) << endl // wypisuje wartość drugiego elementu czyli 2
cout << (tablica+1) << endl; //adres drugiego elementu
cout << &tablica[1] << endl; // również adres drugiego elementu
Analogicznie działa to dla tablic wielowymiarowych.
Starałem się w miarę jasno pisać, jakby coś było nie jasne to pisz :)