回答編集履歴

2

(==X)to

2018/05/05 09:44

投稿

rubato6809
rubato6809

スコア1380

test CHANGED
@@ -54,7 +54,7 @@
54
54
 
55
55
  今、qsort() がソートしようとする配列は char *p[] という、文字列へのポインタが並ぶ配列です。
56
56
 
57
- pstrcmp() 比較関数と呼びます。比較関数は何のためにあるか。それは qsort() が比較関数 pstrcmp() を呼び出し、配列の中の2つの要素の大小関係を知るためです。
57
+ pstrcmp() 比較関数と呼びます。比較関数は何のためにあるか。それは qsort() が比較関数 pstrcmp() を呼び出し、配列の中の2つの要素の大小関係を知るためです。
58
58
 
59
59
 
60
60
 
@@ -72,7 +72,7 @@
72
72
 
73
73
  一方、比較関数 pstrcmp() 側。
74
74
 
75
- 渡ってきた引数 x, y から、それぞれ x がポイントする p[s] の値と、 y がポイントする p[t] の値を引数にして、strcmp(*x, *y) と呼び出したいわけです。
75
+ 渡ってきた引数 x, y から、それぞれ x がポイントする p[s] の値(== X)と、 y がポイントする p[t] の値(== Y)を引数にして、strcmp(*x, *y) と呼び出したいわけです。
76
76
 
77
77
  しかし、void型ポインタにはメモリを操作できないという制約があり、p[s], p[t] を読みだすことができません。そこで ** x, y を ```char ** ``` 型であると見做す必要がある**のです。
78
78
 

1

図をアップデート。x, y に値を入れた

2018/05/05 09:44

投稿

rubato6809
rubato6809

スコア1380

test CHANGED
@@ -38,9 +38,7 @@
38
38
 
39
39
 
40
40
 
41
- ![メモリのイメージ](f0792c93db52a01d882db534f9bcb8d4.jpeg)
41
+ ![メモリのイメージ](cba151c78b4c492420476e04337f154a.jpeg)
42
-
43
-
44
42
 
45
43
 
46
44