qsort函数中的const void*是代表什么意思
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
int compare( const void *arg1, const void *arg2 );
void main( int argc, char **argv )
{
int i;
/* Eliminate argv[0] from sort: */
argv++;
argc--;
/* Sort remaining args using Quicksort algorithm: */
qsort( (void *)argv, (size_t)argc, sizeof( char * ), compare );
/* Output sorted list: */
for( i = 0; i < argc; ++i )
printf( "%s ", argv[i] );
printf( "\n" );
}
int compare( const void *arg1, const void *arg2 )
{
/* Compare all of both strings: */
return _stricmp( * ( char** ) arg1, * ( char** ) arg2 );
}
这是MSDN上解释qsort的一段代码,请问compare函数的两个参数const void *arg1,arg2是什么意思,为什么要定义成const void*呢?这种类型是代表什么意思,它和一般的指针之间做转换时必须要按照compare函数里面的这种方法进行吗?