#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int
alphacmp( const void *a, const void *b ) {
char **ca = (char**)a;
char **cb = (char**)b;
return strcmp( ca, cb );
}
int
main( int argc, char **argv ) {
int i;
qsort( argv+1, argc-1, sizeof *argv, alphacmp );
for( i= 1; i < argc; i++ )
printf( "%s\n", argv[i] );
return 0;
}
Wiem na jakiej zasadzie działa funkcja, jednak nie do końca rozumiem kilka szczegółów. Mógłby ktoś wytłumaczyć czym są
const void *a, const void *b // rozumiem że wskaźniki, ale dlaczego void i const
oraz co dokładnie oznacza zapis
char **ca = (char**)a; //wlaściwie, to nie rozumiem tego (char**)
Z góry dzięki :)