C言語 main関数とsum関数の記述順について
はじめまして。
【苦しんで覚えるC言語】(Web版)でC言語を学んでいる初学者です。
【第1部:C言語基礎編】>【関数の作り方】>【自作関数を作る】の部分(http://9cguide.appspot.com/11-01.html#S2)でつまづいています。
下記のような、1から100までの数字の合計を表示するプログラムが例題として取り上げられています。
しかし、ここが理解できないので、次の【プロトタイプ宣言】に進めずにいます。
例題1 sum関数をmain関数の後に記述した場合(プログラムが実行されない)。
#include <stdio.h>
int main(void)
{
return 0;
}
int sum(void)
{
printf("%d\n",(1 + 100) * 100 / 2);
return 0;
}
例題2 sum関数をmain関数の先に記述した場合(プログラムが実行される)。
#include <stdio.h>
int sum(void)
{
printf("%d\n",(1 + 100) * 100 / 2);
return 0;
}
int main(void)
{
return 0;
}
例題1の場合、【まずmain関数を作り、次にsum関数を作りました。この場合、main関数を解析している段階では、sum関数は発見されておらず、従って、main関数の中では、sum関数を使うことは出来なくなってしまいます。】との説明がありますが理解できません。
コンパイラがどのような順番でプログラムを処理しているか理解できていないので分からないのだと思います。
例題1の場合と例題2の場合の両方について、コンパイラがどのような順番でプログラムを処理しているのかを具体的に教えてください。
どうかよろしくお願い致します。
お礼
早急に解答していただきありがとうございました。 記載URLも参考にさせてもらいます。