4) The rest of the string is at the address (&) of the 4th character ([3]) in szname. Put that together and output it.

what do you mean?
The first element of an array is [0]. The last element is [elements-1]. So if you have an array declared like this:
Code:
int array[3];
the addressable elements are [0] to [2]. [3] is out of bounds.

If you take the address of array[1], like this:
Code:
&array[1]
it's like you have another array that starts at array[1] (of course, it's the same array, occupying the same memory). So if you have
Code:
char s[] = "hello world";
cout << &s[5];
the output will be
Code:
world
which is what you want (&szname[3]).