Java では、普通に文字列を扱う場合は、String型があるのでそのまま宣言すれば良い。
C++ では、良くわからなかったので下記に覚え書き。
[c]
char aName = "太郎"; //←これはダメ。
char bName[10] = "太郎"; //←コンパイルはOKだがイマイチ
char *pName = "太郎"; //←コンパイルはOKだが非推奨
char cName[] = "太郎"; //←推奨
[/c]
そもそもの理解がないのであるが、アドレスは普通の変数は前に & を付けるが、配列変数と関数は名前だけで取得できるということ。
これはとても重要で、ポインタ変数 *p = &hoge; のようにだけ覚えていると後々混乱する。
実際のプログラムで、& を余り見かけないからである。
ポインタを使って間接的に変数を扱うことを参照と言う。
参照を理解するのはここが重要である。