How does &cmp knows that it is the compare function?

How does &cmp knows that it is the compare function? Please make me understand the logic

@gvspraveen113,
Thats a weird doubt, for the function calling cmp, it just knows that on passing two arguments (a,b) to cmp, it will return true or false, which would then decide, whether or not to swap a,b.