For instance,
const char str[] ={'H','e','l','l','o', '\0'};
const int nums[] = {1,2,3,4,5};
cout << str << " " << nums;
gives:
Hello 0x7ffff85c0cf5
Obviously, if I wanted to get addresses of both, I could do
cout << &str << " " << nums
But I'm wondering why there's a difference between this array of integers and an array of characters (string literal). Is this a special case preserved only for strings?