They use a '_' character as the first character of variable _a, I know this is a way to declare a variable. My question is: what is the advantage of this declaration? Please tell me, provide links or suggest books if any. Thanks !Code:int CmpFunc(const void* _a, const void* _b) { // you've got to explicitly cast to the correct type const float* a = (const float*) _a; const float* b = (const float*) _b; if(*a > *b) return 1; // first item is bigger than the second one -> return 1 else if(*a == *b) return 0; // equality -> return 0 else return -1; // second item is bigger than the first one -> return -1 }