一个C++字符数组的有关问题

一个C++字符数组的问题首先我这样定义:char a[ ] chinachar *str acout*strendlcoutstren

一个C++字符数组的问题
首先我这样定义:

char a[ ] = "china";
char *str  = a;
cout<<*str<<endl;
cout<<str<<endl;
cout<<&a[0]<<endl;


输出: c
           china
           china

为什么&a[0]输出结果是china而不是a[0]的地址?&a[0]不是取a[0]的地址吗? C++??字符数组
[解决办法]
&a[0]还是char *类型,对于cout,char*就是输出指针指向的字符串,而非地址。
cout << (void *)(&a[0]);试试。