C++ 为什么char数组和int数组被打印成不同的东西? int main() { int intarr[5]={1,6,7,9,3); char charr[7]=“Avneet”; std::cout
std::cout操作符C++ 为什么char数组和int数组被打印成不同的东西? int main() { int intarr[5]={1,6,7,9,3); char charr[7]=“Avneet”; std::cout,c++,arrays,pointers,c++11,C++,Arrays,Pointers,C++11,std::cout操作符我想说,当创建一个字符[7]时,它就像一个由7个字符组成的字符串。当打印时,它不会显示其地址,而是显示其值 另一方面,int数组是一个包含一些原语的对象。当打印它时,您将只看到该对象的地址。您需要一个for循环来打印每个数组元素。std::basic_ostream具有forchar const*和有符号/无符号版本的重载,这些版本需要C样式的零终止str我很生气 和void const*重载,用于任何其他指针类型并输出地址 int main () { int i
我想说,当创建一个字符[7]时,它就像一个由7个字符组成的字符串。当打印时,它不会显示其地址,而是显示其值
另一方面,int数组是一个包含一些原语的对象。当打印它时,您将只看到该对象的地址。您需要一个for循环来打印每个数组元素。std::basic_ostream
具有forchar const*
和有符号/无符号版本的重载,这些版本需要C样式的零终止str我很生气
和void const*
重载,用于任何其他指针类型并输出地址
int main ()
{
int intarr [5] = {1,6,7,9,3);
char charr [7] = "Avneet";
std::cout << intarr << "\n";
std::cout << charr << "\n";
return 0;
}