C pointers
The way C see it, you've got one pointer called 'name' that gets
initialized at compile time to point at a bit of data that happens to be a
string of "Bob", while your comparison compares the value of 'name' (which
was set to point at the first "Bob" string) to another DIFFERENT bit of
data that happens to be another string of "Bob". With the 'strcmp()'
function, you get a comparison of two strings.