Hey Thank you for the reply! Appreciated!

But actually this was a question asked to me, it was that whether the scope of the variables would be local or global, what i wanted to ask is that, even i thght in the beginning is that this is not the right way to declare the Macro, beacuse whenever the varible is encountered it would be changing the value of it to the one declared in the definintion of the Macro, but then i got to know that the method was not efficient to use but not wrong either, but what makes me confused is that if we are using a Macro then why is it required to make is Local to a function alone? because if it is a Macro then it will be used only in the place where it is needed so it is unnecessary to use it like this!

I did not find this correct because as per the concept we are told that the MACRO's are always replaced while COMPILE time and in the function we are having the value of (int * variable) being passed from some other function, and this operation would take place only during RUN-TIME, so how do we explain this scenario where the MACRO is replaced during OMPILE time and the value with which it is going to be replaced is got at the RUN-TIME? This is my main query, hope i did not confuse you! please revert to me if more clarification is required for this question!

Thank you!