int と int へのポインターを定義します。
int i = 22, *p = &i;
低レベルでトップレベルの const であるポインターを定義します。
const int *const cp = p;
(2) 大丈夫です - (i の) 値を変更する権限のない const ポイント
ロー+トップレベルのconstであるポインターへのポインターを定義します。
const int **const cp_2_p = &p;
(3) 大丈夫じゃない、どうして?
error C2440: 'initializing' : cannot convert from 'int **' to 'const int **const
int
ポインターが指すアドレスも、ポインターが指すアドレスも変更できないポインターへのポインターを定義できると期待しています。