字符数组地址和整数数组地址

Character array address and integer array address

本文关键字:组地址 数数 整数 字符 数组      更新时间:2023-10-16

我对这个问题很好奇

int p[] = {1,2,3};
cout << p;

它将输出第一个元素(1(
的地址,但是.....

char p[] = {'a','b'};
cout << p;

它不会输出第一个元素的地址,但会输出整个数组"ab"。
为什么会这样?

第一个将使用std::basic_ostream<>::operator <<(const void *),它只会输出地址。第二个使用std::operator<<(std::basic_ostream<> &, const char *)它将输出字符数组,就像它是字符串文字一样。