C++ 指向字符数组的指针打印出数组元素,而不是第一个元素的地址?

C++ 指向字符数组的指针打印出数组元素,而不是第一个元素的地址?,c++,arrays,pointers,C++,Arrays,Pointers,如果我没记错的话,在课堂上我学到了将指针设置为数组将指针设置为保存该数组第一个元素的地址 int main() { char str1[5] = {'j', 'h', 'i', 'o', '\0'}; cout << str1 << endl; char *a=str1; cout << a << endl; } intmain(){ char str1[5]={'j','h','i','o','0'}; cout操作符str1的类型降级为cha

如果我没记错的话,在课堂上我学到了将指针设置为数组将指针设置为保存该数组第一个元素的地址

int main() {
char str1[5] = {'j', 'h', 'i', 'o', '\0'};
cout << str1 << endl;
char *a=str1;
cout << a << endl;
}
intmain(){
char str1[5]={'j','h','i','o','0'};

cout操作符str1的类型降级为char*,这是一个C风格的字符串,相当于调用
cout
char str1[5]={'j','h','i','o','\0'};
cout写入
cout
运算符
cout << ( void * )a << endl;
cout << static_cast<void *>( a ) << endl;
char str1[5] = {'j', 'h', 'i', 'o', '\0'};
cout << str1 << endl;
char *a=&str1[0];
cout << &a << endl;