最初のレビューC言語の関数ポインタにブロックを学習する前に。
定義:
関数の戻り値(*ポインタ変数名)(関数パラメータリスト)のタイプ。
例えば:
int型(* P )(int型、int型);
説明:
この文は、関数の変数pへのポインタを定義します。まず、そう「*」、即ち、(P *)がなければならない、ポインタ変数である。第二に、INTに先行するポインタを表し、変数戻り型を指すことがint型の関数である。INT 2つのリアブラケットは、ポインタを表します二つの可変パラメータおよび月点があるint型の関数です。したがって、一緒にこの文の意味は:ポインタ変数pを定義し、ポインタがintであり、2つの整数パラメータの機能を有する可変戻り型を指してもよいです。Pの型はint(*)(int型、int型)です。
パートIIは、特に優れたチュートリアルです
http://c.biancheng.net/view/228.html
テストコード
#importを <ファンデーション/ Foundation.h> NS_ASSUME_NONNULL_BEGIN @interface TestBlock:NSObjectの - (ボイド)試験。 @end NS_ASSUME_NONNULL_END
#importを " TestBlock.h " @implementationのTestBlockは
//互換性のある方法のOC C言語、C言語の構文を宣言します。 INTの最大値(int型 A、int型B);
//実装さ試験方法 - (ボイド)テスト{
//関数ポインタ変数を宣言する。呼び出さ*より大きい、ポイント方法(INT B INT)は、2つのパラメータを有しています。この方法は、int型の値を返します。 INT(*ビガー)(int型 A、INT B);
//ポインタ代入 ビガー = マックス;
//ポインタビガー のint C(*ビガー)(= 1、2 ) のNSLog(@ " 関数呼び出しの結果を指すポインタた:%d " 、C); }
//実装が宣言しました。 INT MAX(int型 A、INT B){ 戻り A> B?A:B; } @end