3 line OpenGL strangeness....?

I've got the Red Book right in front of me and the 3 lines below matches
that found in the texbind.c, Example 9-7 Compilation is fine. But when I
run through the Xcode's debugger with the following lines:

The bad snippet is showing badTextureName[] 0f -1 in the Xcode 2.1
debugger. Conversely, The goodTextureName[] is showing 1. Likewise,
the debugger has one of those little triangle icons next to goodTextureName,
whereas badTextureName does not.

I'm surprised that the casting one works. Seems the badTexture is in
OpenGL's native GLuint type and should not only work, but be the
"preferred" method.

Btw, this whole thing started when I originally noticed that the debugger
showed "badTextureName <incomplete type>" Huh?