INFO: qsort(): Parameters to the Compare FunctionLast reviewed: September 2, 1997Article ID: Q43971 |
The information in this article applies to:
SUMMARYWhen you define or prototype a comparison function for the run-time library function qsort(), the formal parameters should be of type "const void *" because qsort() doesn't know the type of data that it is dealing with. Internally, qsort() is dealing with void pointers only. The const directive is there because the compare routine shouldn't modify the values that are being compared. Inside of your compare routine, you must cast the void pointers back to pointers of the correct type. If the declaration of the array to be sorted is:
ELEMENT_TYPE arr[10] ;where ELEMENT_TYPE is the type of the array elements, then the function for comparison should be prototyped as follows:
int comp( const void *, const void * ) ; Keywords : CRTIss kbfasttip Version : MS-DOS:5.1,6.0,6.00a,6.00ax,7.0; OS/2:5.1,6.0,6.00a; WINDOWS:1.0,1.5; WINDOWS NT:1.0,2.0,4.0,5.0 Platform : MS-DOS NT OS/2 WINDOWS Issue type : kbinfo |
================================================================================
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |