#includeusing namespace std; int main() { char str[20]="hhh"; char* t=str; int* a; cout< 输出结果如下:
同样是用cout输出地址,输出int指针的地址时输出了其地址,但是输出char类型指针以及char数组的地址时,将整个字符串输出了。
原理
cout如果碰到一个char类型的指针,会默认将其作为字符串输出,从给定的地址开始不断向下找找到内容为0的地址为止,并将对应的字符串输出。
hint
如果要让输出对应char指针的地址,需要将char指针强制转化为int指针输出。
代码如下:#includeusing namespace std; int main() { char str[20]="hhh"; char* t=str; int* a; cout< 输出结果如下:



