At the risk of receiving a good thrashing, I need to ask a basic C code beginner's question: I want to declare/define an array of struct in a .h file that assigns it to xdata memory. /* Struct.h */ xdata struct mode { int x,y,z; }; struct mode xdata type[5]; main.c () { struct_init(); modify_struct(); } struct_init () { type[0].x = 1; type[0].x = 2; type[0].x = 3; etc... } modify_struct() { type[0].x = newvalue; etc... } I'm confused as to how to make the struct visible to multiple files without getting: "Multiple Public Definitions" or "Unresolved External Symbol" etc... Any guidance from the experienced would be appreciated. Thanks