macros are replaced with the expression at the time of compilation but the inline functions are not replaced,the benifit of inline function is that in case of inline function code executed in the same block in which this function is defined ,ctrl is not transferred from one function to another