C言語の関数へのポインタは、基本的な文法

ポインタは、初心者のためのC言語の本質である、ポインタは、関数へのポインタ内にあるより困難な知識を、学習C言語の文法を理解することは容易ではないです。

ここで勉強し、理解してC言語やプログラミング方法ポインタを関数にして例を使用する方法を皆に伝えるために。

注:これは、Cプログラミング言語の基本文法内容、C言語のバイパス偉大な神です。

基本コンセプト

まず、関数への最初のポインタはあまりにもハード考えていない、それは通常のポインタの差があまり大きくないが、フォームの定義が異なります。

例えば以下のように、通常の成形のためのポインタが、フォームが定義されます。

int型* P;

定義では、名前は、ポインタ変数pを、記号「*」pはポインタで示してあり、INTポインタ整数フォーマットを示す図です。

私たちは関数へのポインタを定義するのであれば、変数名は、それがそのような機能を指すように、pと仮定され、このシェーピング機能は、次のようにシェーピングパラメータをその戻り値が定義され、2つのパラメータが必要です。

int型(* P)(int型、int型);

これは、関数へのポインタであるため、それを打破する、どこで、pは変数の名前であり、記号「*」はポインタpを示している。この定義は、ですが、それは何よりも、その後、情報が定義されている関数の入力と出力パラメータを反映しなければなりませんINTはシェーピング機能は、2つの入力パラメータを必要と定義の後ろにint型、(INT、INT)の関数の戻り値を指します。また、それは、「*」でなければならず、「p」は*の優先度よりも高いによるブラケットの優先度に、そうでない場合、(* p)の形括弧内に書かれなければならない、括弧なしで、それは別の意味になります。

理解とは対照的に、通常の違いが関数ポインタへのポインタが大きすぎではないようです。

例としては、プログラミング機能をポインタ

次の例を使用することにより、ポインタのポインティング機能を示しています。

この機能の例としては、入力のために一次元アレイは、参照配列の最大値を達成するために、それぞれ、三つの機能findMax、findMinとgetAvgを定義することで、アレイの最小値は、これら3つの関数の入力と出力の平均値を算出しますパラメータは同じです。楽しいポインタ変数パラメータとして、ポインタは、上記の3つの機能を指すことができる必要があり、関数、関数のパラメータを定義します。メインプログラム、関数呼び出しの楽しみでは、異なる着信p値は、異なる入力一次元アレイの処理機能に応じて達成されます。

それを実装するコードの次のセクションの下に見えます。

1、findMax、findMinコード実装とgetAvg

これら三つのそれぞれ1次元配列xの機能、プロセスの最大値、最小値、平均値を求めるために、その結​​果を返します。C言語のコードを次のように:

これら三つの機能は、全く同じ関数プロトタイプは比較的単純であり、入力パラメータ、出力パラメータは、戻り値がdouble型の値であり、xの要素xの数を2倍とnを示すポインタです。

2、機能コードが実装されている楽しいです

三つの入力パラメータの関数、要素のN個の第1の二点xについて、ダブルポインタを数x、タイプの関数である第3のポインタは、ポインタは、上記3つの機能を指すことができます。C言語のコードを次のように:

そして、メインプログラムに単に異なるp値を入力し、入力1次元アレイ上の異なる処理操作することができ、この機能を呼び出すことができます。

図3に示すように、メインテストコード

メインテストコード言語C以下のように:

43-44線がXの1次元配列を定義し、データ処理要素の結果を格納する5つの変数max、最小及び平均を含みます。

ライン46-48、楽しい関数呼び出し、パラメータとして関数名に渡された関数findMax、findMin getAvgと、コンソール上の処理動作の結果を出力します。

次のようにその動作を示す図。

見ると、この例では、我々が正常に機能パラメータへのポインタとして使用されており、正しい動作結果を得ました。

概要

理解の形で定義されており、基本的な使い方を把握する難しすぎるように思えていない関数へのポインタ。

ポータル:Cプログラミング言語:ハンズオン私に文法の機能ポインタベーシスポイントを追跡する例 

https://baijiahao.baidu.com/s?id=1616897994801163285&wfr=spider&for=pc

おすすめ

転載: www.cnblogs.com/tongongV/p/10989923.html