int a;←宣言

int b=10;←宣言と定義

int c;
c=100;←これは宣言と何でしょうか?

あとextern宣言の必要性が分かりません...。
事前に話し合って特定の変数を定義しなければいいだけではないですか?