変数宣言と変数の宣言と定義の違いを見分けます

https://www.cnblogs.com/GavinDai/archive/2011/10/24/2222735.html転載

変数の宣言と定義の違い

、私は単純に以下のでしょう私たちは、プログラミングでは、すべての時間は、私たちはこのコンセプトに、時には非常に明確ではない、それを使用する方法を知ることができ、変数の変数を定義して宣言するために使用されるが、私は1つがどうなるかわかりませんその違いは、以下に記載されている:(私はあなたが利益を指して願っています)置きます

2例がある変数を宣言します。

1、1は、ストレージスペースを作成する必要があります。たとえば、次のように一度に文をint型は、すでにストレージスペースを確立していました。

2、他のストレージスペースを確立する必要があります。たとえば、次の変数が別のファイルに定義されているのextern int型A。

前者は、「定義(定義)」または「(宣言を定義する)を定義文」であり、後者は「(宣言referncing)参考書」であり、ステートメントは、定義が宣言され、すなわち視点の広い定義を、含まそれが両方ある文をint型が、それも定義されています。特殊な場合は、いないすべての宣言は、例えば、定義されています。しかし、それは用語の定義ををexternだけの文ではありません。通常の状況下で、私たちはそう頻繁に「定義」と呼ばれるスペースの設立を宣言するために、説明したが、文はというボリュームを作成する必要はありません「声明を。」メイン関数で:明らかに、我々は、宣言は、比較的狭い範囲、すなわち、狭義のステートメントは、すなわち非宣言は、例えば、プロパティを定義しているためにここに参照してください。

{int型のmain()
extern int型のA;
//このステートメントではなく、定義は、ステートメントAは、すでに外部変数を定義しています
//注:除去することができるように、変数の型宣言外部変数:EXTERN A。
dosth(); //機能を実行
}
int型のA; //定義は、外部整数変数Aが定義されて

「定義」外部変数と、「ステートメント」外部変数は、外部変数の定義は一つだけを持つことができ、同じではありませんファイル内に同じ外部変数の宣言が複数回になることができますが、それは、場所は任意の関数の外にあるのですそれは、(関数内のステートメントで使用するように機能している)外の機能でも(外部変数の前に定義された点)として機能することができますすることができます。システムは、外部変数(よりむしろに従って宣言された外部変数)の定義に従ってストレージを割り当てます。初期化の観点から、外部変数の場合だけではなく、「声明」よりも、「定義」で実行することができます。いわゆる「宣言」は、その役割は、単に「事前」に、すでに後ろに外部変数を定義している変数を宣言することであり、変数は「声明」としてのみ参照されます。externのみ任意の定義せずに、文を作ります。

(私たちの究極の目的は、定義が以前に使用していることは、ステートメントの使用を進めることであるあなたは、事前に別の文を使用しない場合は不要であり、その変数、関数である、あまりにも、その文は、ストレージスペースを割り当てていない、唯一の定義意志ストレージ容量の割り当て。)

変数の役割は二つある宣言する静的な使用します。

(1)静的なローカル変数宣言のためには、変数に割り当てられた領域は、プログラムの実行期間を通して常に存在します。

(2)静的と宣言された外部変数は、変数モジュールの効果は、本文書に制限されます。

、私は単純に以下のでしょう私たちは、プログラミングでは、すべての時間は、私たちはこのコンセプトに、時には非常に明確ではない、それを使用する方法を知ることができ、変数の変数を定義して宣言するために使用されるが、私は1つがどうなるかわかりませんその違いは、以下に記載されている:(私はあなたが利益を指して願っています)置きます

2例がある変数を宣言します。

1、1は、ストレージスペースを作成する必要があります。たとえば、次のように一度に文をint型は、すでにストレージスペースを確立していました。

2、他のストレージスペースを確立する必要があります。たとえば、次の変数が別のファイルに定義されているのextern int型A。

前者は、「定義(定義)」または「(宣言を定義する)を定義文」であり、後者は「(宣言referncing)参考書」であり、ステートメントは、定義が宣言され、すなわち視点の広い定義を、含まそれが両方ある文をint型が、それも定義されています。特殊な場合は、いないすべての宣言は、例えば、定義されています。しかし、それは用語の定義ををexternだけの文ではありません。通常の状況下で、私たちはそう頻繁に「定義」と呼ばれるスペースの設立を宣言するために、説明したが、文はというボリュームを作成する必要はありません「声明を。」メイン関数で:明らかに、我々は、宣言は、比較的狭い範囲、すなわち、狭義のステートメントは、すなわち非宣言は、例えば、プロパティを定義しているためにここに参照してください。

{int型のmain()
extern int型のA;
//このステートメントではなく、定義は、ステートメントAは、すでに外部変数を定義しています
//注:除去することができるように、変数の型宣言外部変数:EXTERN A。
dosth(); //機能を実行
}
int型のA; //定義は、外部整数変数Aが定義されて

「定義」外部変数と、「ステートメント」外部変数は、外部変数の定義は一つだけを持つことができ、同じではありませんファイル内に同じ外部変数の宣言が複数回になることができますが、それは、場所は任意の関数の外にあるのですそれは、(関数内のステートメントで使用するように機能している)外の機能でも(外部変数の前に定義された点)として機能することができますすることができます。システムは、外部変数(よりむしろに従って宣言された外部変数)の定義に従ってストレージを割り当てます。初期化の観点から、外部変数の場合だけではなく、「声明」よりも、「定義」で実行することができます。いわゆる「宣言」は、その役割は、単に「事前」に、すでに後ろに外部変数を定義している変数を宣言することであり、変数は「声明」としてのみ参照されます。externのみ任意の定義せずに、文を作ります。

(私たちの究極の目的は、定義が以前に使用していることは、ステートメントの使用を進めることであるあなたは、事前に別の文を使用しない場合は不要であり、その変数、関数である、あまりにも、その文は、ストレージスペースを割り当てていない、唯一の定義意志ストレージ容量の割り当て。)

変数の役割は二つある宣言する静的な使用します。

(1)静的なローカル変数宣言のためには、変数に割り当てられた領域は、プログラムの実行期間を通して常に存在します。

(2)静的と宣言された外部変数は、変数モジュールの効果は、本文書に制限されます。

おすすめ

転載: www.cnblogs.com/ArChieve/p/11403634.html