Pourquoi cout affiche-t-il des tableaux de caractères différents des autres tableaux?

Je suis à l'aide de C++ pour comprendre exactement comment les pointeurs de travail. J'ai ce morceau de code à l'aide de tableaux, que j'ai de l'aide afin de comprendre la façon dont l'équivalent travaille avec des pointeurs.

int main() {    
    int arr[10] = {1,2,3};    
    char arr2[10] = {'c','i','a','o','
int main() {    
int arr[10] = {1,2,3};    
char arr2[10] = {'c','i','a','o','\0'};
cout << arr << endl;
cout << arr2 << endl;
}
'
}; cout << arr << endl; cout << arr2 << endl; }

Cependant lorsque je l'exécute, arr sorties à l'adresse du premier élément du tableau d'entiers (comme prévu) mais arr2 n'est pas sortie de l'adresse du premier élément du tableau de caractères; il en fait des tirages "ciao".

Qu'est-ce que je suis absent ou que je n'ai pas encore appris à ce sujet?

source d'informationauteur Luca Matteis