012345678 9
A string![blue]NULL[/blue]
[code]
size = 9.
So...
char *string = "A string!"
string gets the address of the value A string.
string[0] gets the thing that is at the value of string (the address) + [0 (the offset in square braves) * size of datatype the pointer is pointing].
*(string+8)
8 plus that address is '!'.