Тема: Вказівник на вказівник
Із звичайними вказівниками проблем ніби-то немає. Коли дійшла справа до вище згаданої теми, я спробував і...
Чим відрізняться наступні 2 вирази:
int* a[50];
та
int** b = new int* [50];
За діями, ніби одне і те ж. Виділяється пам'ять під 50 вказівників. Але з адресами щось не те.
Припустимо, що адреса a - 0x00001; адреса області виділеної оператором new - 0x00003.
Я розумію, що а - вказівник на перший елемент массиву, тобто вказівник на вказівник.
b - "штучно" створений вказівник. Тут я і починаю плутатися. Якою адресою він ініціалізується? Як його використати, щоб звернутися до елемента массиву. Чим взагалі відрізняються ці вирази?
Я припускаю, що останній вираз є, можливо, більш семантично коректним.
Поясніть, будь-ласка, найбільш детально, де, що і як.