Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么char数组和int数组被打印成不同的东西? int main() { int intarr[5]={1,6,7,9,3); char charr[7]=“Avneet”; std::cout_C++_Arrays_Pointers_C++11 - Fatal编程技术网

C++ 为什么char数组和int数组被打印成不同的东西? int main() { int intarr[5]={1,6,7,9,3); char charr[7]=“Avneet”; 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

std::cout操作符
我想说,当创建一个字符[7]时,它就像一个由7个字符组成的字符串。当打印时,它不会显示其地址,而是显示其值

另一方面,int数组是一个包含一些原语的对象。当打印它时,您将只看到该对象的地址。您需要一个for循环来打印每个数组元素。

std::basic_ostream
具有for
char 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;
}