Стоить помнить, что сам указатель тоже переменная, тоже храниться в памяти, а по этому на него тоже будет указатель. Так что &aaa покажет вам где на стеке находится ааа.
А если делать &*aaa или *&ааа то & и * по сути просто компенсируют друг друга. Взять адрес и взять значение по адресу или же наоборот равносильно тому, чтобы ничего не сделать. По этому aaa == &*aaa == *&aaa, в то время как *a == *&*&*aaa == *&*&*&*&*&*&*aaa. Сам тоже не сильно шарю, но тут вроде понятно))