打印C++ int指针vs char指针

2 c++ string pointers

当我运行以下代码时:

int i[] = {1,2,3};
int* pointer = i;
cout << i << endl;

char c[] = {'a','b','c','\0'};
char* ptr = c;
cout << ptr << endl;
Run Code Online (Sandbox Code Playgroud)

我得到这个输出:

0x28ff1c
abc
Run Code Online (Sandbox Code Playgroud)

为什么int指针返回地址,而char指针返回数组的实际内容?

gio*_*gim 6

这是由于<<操作员过载造成的.因为char *它将它解释为空终止的C字符串.对于int指针,您只需获取地址即可.