hay ventajas en hacer este tipo de declaraciones?
Primero tienes que indicar
en relación a que.
Para dar mas contexto una función de ese tipo se utiliza junto con qsort (parte de la biblioteca estándar de C) para ordenar un array de punteros a carácter:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
static int cmp(void const *p, void const *q);
int main(void)
{
char *pal[] = {
"xyz",
"paco",
"luis",
"hugo",
"abc",
};
size_t num_pals = sizeof pal / sizeof pal[0];
size_t i;
qsort(pal
, num_pals
, sizeof pal
[0], cmp
); for (i = 0; i < num_pals; i++)
printf("%lu: %s\n", (unsigned long) i
, pal
[i
]);
return EXIT_SUCCESS;
}
static int cmp(void const *p, void const *q)
{
return strcmp(*(char **) p
, *(char **) q
); }
Un saludo