ヘッダincludeしてるのに何で重複宣言するの?

Unit1
 #include "Unit1.h"
 #include "Unit2.h"
TForm1 *Form1;

Unit2
 #include "Unit1.h"
TForm2 *Form2;
------------------
Unit1
void __fastcall TForm1::BitBtnClick(TObject *Sender){
Form1->Hide();
Form2->Show();
}

Unit2
void __fastcall TForm2::N1Click(TObject *Sender){
Form1->Show();
Form2->Close();
}