Sending messages to objects using Objective-C is done using the square brackets.
You have instance methods, they are denoted with a - (minus) sign ahead of the return type of the method, like so:
- (void)setDelegate:(id <SomeDelegateProtocol>)delegate;
Alternatively you have the class methods denoted with a + (plus) sign:
+ (NSArray *)arrayWithObject:(id)object;
The first text within the brackets stands for the receiver of that message, in case of an instance message this will be an object pointer. Otherwise, when you deal with a class message, you use the class it's name.
So a is indeed a pointer for an instance, probably of class A (well, it actually is just the name of the variable the object is assigned to. It can be of any class).