stdlib.h的qsort函数怎么去用

stdlib.h的qsort函数如何去用?
原形是void   qsort(void   *base,   size_t   num,   size_t  
                        width,   int      
                (_cdecl   *   compare)(const   void   *,const   void   *));  
为什么下面的程序在VC下会出错?
#include   <stdlib.h>
#include   <string.h>
#include   <stdio.h>
void     main(   )
{   int   i;
    char   list[5][4]   ={“car”,“cat”,“cab”,“cap”,“can”};
    qsort(   (void   *)list,   5,   sizeof(   list[0]   ),   strcmp   );
      for(   i   =   0;   i   <   5;   ++i   )
                  printf(   “   %s”,   list[   i   ]   );
      printf(   “\n”   );  
}
提示错误是:cannot   convert   parameter   4   from   'int   (const   char   *,const   char   *) '   to   'int   (__cdecl   *)(const   void   *,const   void   *) '
还想问问_cdecl是个什么内型?

------解决方案--------------------
函数申明: void qsort(void *base, size_t nelem, size_t width, int (*fcmp)(const void *, const void *)
函数用途: 使用快速排序(C.A.R.Hoare发明的排序方法)对数组base进行排序
头 文 件: stdlib.h
输入参数: base: 待排序的数组;melem:数组的元素个数;width:每个元素的大小
fcmp: 用于数组元素比较的函数指针,该函数由自己另外编写,有2各参数,
并且比较结果如下:
<0; arg10; arg1> arg2
例如对字符串比较的函数可编写如下:
int fstrcmp(char *arg1,char *arg2)
{
strcmp(arg1,arg2);
}


输出参数: base:以升序排列的排序结果