a is a label, or an alias of a memory address. It is not a pointer. ( Your third example has a mistake, the correct increment is: a+2, because pointer arithmetic increments in object size not byte size )
Read this:http://eli.thegreenplace.net/2009/10/21/are-pointers-and-arr...