qsort(words, size1, size2, compareWords);
내부 비교 단어 :C를 qsort의 문자열 배열
이int compareWords(const void *ac, const void *bc)
이 작품 :
char const *a = *(const char **)ac;
이 그렇지 (a
일부 쓰레기 값을 얻는다) :
char const *a = ac;
char const *a = (const char *) ac;
그 근거는 무엇인가?
또한, 일부 실시 예에서, size2
은 sizeof(char *)
으로 나타납니다. 이것은 sizeof(*words)
이 아니어야합니까? T의 배열을 보내고 char *words[] = {"abc", "pqr", "abcd", "pqsl"};
'단어'선언을 보여줘야합니다. 단어에 액세스하는 방법에 대한 질문을하고 있기 때문입니다. – unwind
맞습니다. 'size2'는 하나의 요소 크기입니다. 그래서,'size2 = sizeof (* words)'또는 더 나은'size2 = sizeof (char)'. – Michael
@Michael은 sizeof (* words) = sizeof (char)입니까? 내 예제의 단어 배열에서 sizeof (* words)는 sizeof (char) = 1 인 반면에 4가 나온다. 나는 동일하다고 생각하지 않는다. – Sushil