비교 : qsort가 나의 비교 기능은 다음과 같습니다를 qsort : 나는이 질문에 다음과 같은 한 문자열
static int compare(const void *arg1, const void *arg2) {
return strcmp((const char *) arg1, (const char *) arg2);
}
이 작동하지 않았다, 그래서 나는 그 사람 페이지에서 코드 예제를 보면서 나는 변경 그것은 조금, 그래서 지금은 다음과 같습니다 : 맨 페이지의 방법이 왜 작동을 strcmp 매개 변수가 const를 숯불 *의 S1과 CONST의 char * s2를하기 때문에
static int compare(const void *arg1, const void *arg2) {
return strcmp(*(char * const *) arg1, *(char * const *) arg2);
}
나는 그것을하지 않습니다.
저는 C에서 꽤 새롭기 때문에 이것을 이해하기 어렵습니다. 누군가 맨 페이지의 방법 만 작동하는 이유를 설명해 주시겠습니까?
중복 된 항목을 찾으십시오. 이미 비슷한 질문이 많이 있습니다. 옵션에는 다음과 같은 장점이 있습니다 ([SO 14993282] (http://stackoverflow.com/questions/14993282/), [SO 5035289] (http://stackoverflow.com/questions/5035289/), [SO 18400333] (http://stackoverflow.com/questions/18400333/), [SO 19558447] (http://stackoverflow.com/questions/19558447/). 나는 다른 사람들도 있다고 확신한다. SO 검색 창에서'[c] qsort string'으로 검색해보십시오. –