int指针和char指针有什么区别?

时间:2019-01-18 14:54:49

标签: c++

为什么cout返回数组中的所有字母

char a[] {'a', 'b', 'c', 'd', '\0'};
char* ap = a;

cout << ap << endl;

但是cout返回的地址是

int b[] {1,2,3,4,5};
int* bp = b;

cout << bp << endl;

由于ap和bp是指针并且指针持有地址,所以它们都不都返回地址吗?

2 个答案:

答案 0 :(得分:2)

流插入运算符(operator <<)对于char *具有显式重载,因此将以特殊方式对其进行处理。

答案 1 :(得分:1)

因为operator<<char *定义了重载。

http://www.cplusplus.com/reference/ostream/ostream/operator-free/