回答編集履歴

1

修正

2017/04/21 11:50

投稿

HogeAnimalLover
HogeAnimalLover

スコア4830

test CHANGED
@@ -1,9 +1,9 @@
1
- 変数の場合は宣言と定義に違いは事実上ありません。これらに違いが生じるのは関数とか構造体の場合です。
1
+ 変数の場合は宣言と定義に違いは事実上ありません。これらに違いが生じるのは関数とか構造体の場合です。変数の場合について考えても答えは出ません。
2
2
 
3
3
 
4
4
 
5
- とえば関数の場合はプロトタイプ宣言という言葉があります。これは関数の名前と引数、戻り値だけを決めるもので、具体的な処理の記述は行いません。こが定義との違いです。
5
+ 宣言はあくまでも「ユーザ定義の語」を取り決めるだけです。しがって、関数の場合はプロトタイプ宣言という概念(関数の名前と引数、戻り値だけを決めるもので、具体的な処理の記述は行わな)が存在し、定義と宣言が異なり一方で、**「変数の場合は語を宣言すると自体が定義」**ですから、事実上、宣言と定義が同一となります
6
6
 
7
7
 
8
8
 
9
- 具体例を挙げます。fという関数が内部的別の関数gを、そし関数g内部的に関数fを呼び出しえるものだとします。この場合どのようにプログラムをコンパイルしても、コンパイル中に未宣言のトークンを見つけることとります。従って、あらかじめトークンを宣言しておかないコンパイルをできないものるため、プロトタイプ宣言が必要となります。
9
+ もちろん、言語よっは違いもしせんがともC場合はこうなります。