qsort(words, size1, size2, compareWords);
內比較的話:Ç快速排序字符串數組
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)
?
話被聲明爲: char *words[] = {"abc", "pqr", "abcd", "pqsl"};
您必須顯示'words'的聲明,因爲您在詢問有關如何訪問它的問題。 – unwind
你說得對,'size2'是一個元素的大小。所以,'size2 = sizeof(* words)'或更好'size2 = sizeof(char)'。 – Michael
@Michael是sizeof(* words)= sizeof(char)??在我的例子單詞數組中,sizeof(* words)出現爲4,而sizeof(char)= 1。我不認爲它們是相同的。 – Sushil