EDIT: The arrays have to be in the main module as wellCode:#ifndef MYHEADER_H_INCLUDED_ #define MYHEADER_H_INCLUDED_ void Update_Program();// moved inside the guard void Load_Information(); void Order_Quote(); struct Part_Struct //decleration of data structure for parts { int Part_ID; char Description[15]; char Condition[10]; float Guide_Price; int Origin_Vehicle_ID; bool Present; }; struct Vehicle_Struct //decleration of data structure for vehicles { int Vehicle_ID; char Model[10]; char Colour[10]; int Mileage; float Purchase_Price; Part_Struct Parts[323]; }; struct Order_Struct //decleration of data structure for orders { int Order_ID; int Customer_ID; int Part_ID[10]; bool Paid; }; struct Customer_Struct //decleration of data structure for customers details { int Customer_ID; char Name[15]; char Address[15]; char Addresstwo[15]; char Town[10]; char County[10]; char Postcode[6]; char TelNo[12]; Order_Struct Orders[10]; }; extern Customer_Struct Customers[10]; // declare extern, moved extern Vehicle_Struct Vehicles[10];// declare extern extern int Number_of_Vehicles , Number_of_Customers; // remove initialisation #endif