Confusing Pointer Operations : *++ptr, ++*ptr, *ptr++ ( c Interview question - 1)
Important Points: 1. Postfix operation has more precedence than dereference operator. *p++ means it will be *(p++).. * will be applied to the result of p++. 2. Prefix Operation has the same precedence with the dereference operator.When there is same precedence we have to take associativity into picture, The associativity is right-left . In ++*ptr , first it will dereference and then increment , whereas in *++ptr it will increment the value and dereference. To easily understand this we will take an example of a C program. #include <stdio.h> int main() { char ptr[]="Hello World"; printf("Value :%s\n", ptr); ++*ptr; printf("Value :%s\n", ptr); return 0; } In the above example you can see that we are having prefix operator and dereference operator.We know that both are having the same precedence, the...