おい貴様ら!貴様らを知恵者と見込んで聞きたいことがある。
俺様は今C/C++を勉強中でポインタについて確認したいことがあるのだ。
以下は俺様がじきじきに勉強してまとめたものだが、

int *hh;
char *hh;  
と宣言してもどちらもアドレスが入る。(基本)

intで宣言したらメモリ上の大きさはデフォルトの4バイトcharで宣言した方は1バイトである。
よって配列で拡大していくとintは4バイト、charは1バイトずつアドレスが増加する。
 
printfで表示させる方法は"%p"で&変数だとアドレスの表示、"%scdfとか型に合った香具師"で*変数だと中身の表示

char hhh[] = "ABC";    //←はhhh[0]で、(printfで)&hhhで見るとAAAの格納しているメモリ上のアドレスを表示する。
char hhh[] = {'A','B','C'};  //←はhhh[0]、hhh[1]、hhh[2]で、(printfで)&hhhで見るとこいつのhhh[0]の格納されているメモリ上のアドレスを表示する。
                    ちなみにこいつら'A'、'B'、'C'はメモリ上では連番で連なっている。
char *hhh[] = "ABC";   //←はhhh[0]で、'ABC'の入っているメモリ上のアドレスを格納している。
char *hhh[] = {'A','B','C'}; //←はhhh[0]、hhh[1]、hhh[2]で、'A'、'B'、'C'の入っているそれぞれのメモリ上のアドレスを格納している。
                    ちなみにこいつら'A'、'B'、'C'は別々のメモリアドレスに格納されている。

char *hh = "AAAAAA"; 
char **hhh = &hh;     //←は'AAAAAA'の入ってるアドレスをいれていることになり、
                   printf("%s",*hh)で"AAAAA"表示、printf("%p",&hh)でアドレス表示、

確認が欲しい、以上であってるか?

あとprintf("%c",**hh)がわからないから教えてくれ!