#define a 10
#define a 50
The preprocessor directives can be redefined anywhere in the program. So the most recently
assigned value will be taken.
* is a dereference operator & is a reference operator. They can be applied any number of
times provided it is meaningful. Here p points to the first character in the string "Hello". *p
dereferences it and so its value is H. Again & references it to an address and * dereferences
it to the value H.
printf("i = %d, +i = %d \n",i,+i);
i = -1, +i = -1
Unary + is the only dummy operator in C. Where-ever it comes you can just ignore it just
because it has no effect in the expressions (hence the name dummy operator).
Posted by sharmi