答えて
これは、関数がintを返し、引数として2つの文字ポインタを受け取る関数へのポインタです。
基本的なルールは、いくつかのことに沸く: -
従うべき3つの簡単な手順があります。
- 未知の要素を皮切りに、スパイラル/時計回りに移動します。
[X] or []
- の配列
X
サイズ...またはtype1
と返すtype2
を渡す(type1, type2)
- 機能...の配列未定義サイズ... * :ecounteringときは、次の要素は、対応する英語の文に置き換えます
- へのポインタすべてのトークンがカバーされるまで、螺旋/時計回りの方向にこれを続けます。最初にかっこ内の何かを解決してください!
- の配列
参考:あなたはCの宣言を読んだとき 1. Clockwise-rule 2. right-left rule
あなたは彼らに古代ギリシャでは、石の書き込みのbutrophedonically(一般的な方法を読まなければなりません)。
pointer to
function that
has (char*, char*) type parameters as input
and int as output
EDIT:あなたが貼り付けられている
LOL、Upvote for reference –
コードは実際には関数へのポインタです。機能のprototypeは次のようになります。 int cmp (char*, char*);
三つの部分は、この機能にあります。戻り値の型は、整数、関数の名前がcmp
で、へのポインタであるすべてのそれらの2つの引数が、存在しています文字(配列)。具体的には、関数はソートに使用されます。たとえば、最初の引数が2番目の引数よりも小さい場合、関数は負の数を返し、等しい場合は0を返し、大きい場合は正の数を返します。私は、次のコードを持っている場合、例えば:
char c1 = 'a';
char c2 = 'b';
int result = cmp(&c1, &c2);
は、結果が負の数になる、例えば-1、なぜなら 'a'は 'b'より小さいからです。上記の関数呼び出しでは、各引数の前に&を追加しました。これは、引数のデータ型が文字へのポインタ/参照であるためです。 &
は、変数のアドレスを取得する操作です。
あなたが提供したコードに関しては、実際には、cmp
の名前の前に追加の*
があります。つまり、単一の変数または配列ではなく、関数全体の参照を取得したいということです。たとえば、次のようにC関数qsortのプロトタイプです:
void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))
この関数の3番目の引数は、実際にあなたが提供したコードと非常によく似ています。その理由は、関数全体を引数として別の関数、例えばqsortに直接渡すことができるからです。
は、私はこれがあなたの質問に答える願うC.
内のポインタについての詳細は、このlinkのを見てみましょう。
- 1. なぜこのCのポインタコードは機能しませんか?
- 2. これは何をしますか? C++
- 3. mallocとポインタコードのデモンストレーション
- 4. C配列とポインタコードをGoに変換する
- 5. C#のデータバインディング、このコードは何をしていますか?
- 6. このC#コードの "&="は何をしますか?
- 7. リバースエンジニアリング.NET C#この行は何を意味しますか?
- 8. このC++コードは何を意味していますか?
- 9. このCコードは何を意味しますか(G_GNUC_PRINTF)?
- 10. このC文は何を意味しますか?
- 11. c#とHTML。このWebアプリケーションは何をしていますか?
- 12. このCプログラムは何をしますか?
- 13. このステートメントはC#で何を意味していますか?
- 14. このcスニペットは何をしますか?
- 15. このCトリックは何をしますか?
- 16. この試験紙C#コードは何をしていますか?
- 17. このC++ステートメントは何をチェックしますか? (BOX2D)
- 18. このコードは世界で何をしていますか? (C#)
- 19. このCコード行は何をしますか? (const VAR = "string";)
- 20. このコードは何をしますか? C
- 21. このコードは何をしますか? (C++、クラス、配列)
- 22. このC++コードは何をしていますか?
- 23. このC++マクロは何をしますか?
- 24. C++:このコードは何をしていますか? foo([](){bar();});
- 25. c:このラインは何をしていますか?
- 26. このシンボルはC++で何を意味しますか? "〜"
- 27. c#この行は何を意味していますか?
- 28. このC関数は何をしていますか?
- 29. この短いC++コードは何を意味しますか?
- 30. C#でこれは正確に何を意味しますか?
一般的に、これはポインタの非常に良い説明であることがわかります:http://shop.oreilly.com/product/0636920028000.do – mko
[C関数ポインタ構文](https:// stackoverflow。 com/questions/14114749/c-function-pointer-syntax) – dandan78