структуры

Помогите начинающему программисту!
Проблема заключается в следующем: есть файл prepr.c -- предназначеный для получения
исходных данных. В prepr.h объявляю структуры:
...............................................
struct ele
{
int i, j, k;
int si, sj, sk;
int material;
}elem[MAX_NODES*2] ;
struct mat{
int NKxx, NKyy;
double Kxx[MAX_TABL], Kyy[MAX_TABL];
double TKxx[MAX_TABL], TKyy[MAX_TABL];
int NDENS, NC;
double DENS[MAX_TABL], C[MAX_TABL];
double TDENS[MAX_TABL], TC[MAX_TABL];
int NQ;
double Q[MAX_TABL];
double TQ[MAX_TABL];
double U, Te, te;
}mater[MAX_MATERIALS];
.............................................
Подключаю файл prepr.h к prepr.c и объявляю 2 экземпляра структуры:
............................
struct ele elem[MAX_NODES*2];
struct sid side[MAX_NODES*3];
............................
в которые помещаются данные. Но происходит вот какая непонятная для меня вещь:
адреса &mater[num].Kxx[0] и &elem[602].material совпадают! т.е. поместив данные
в elem[602].material я перазапишу mater[num].Kxx[0] и наоборот.
Кроме того не только у этих двух членов одинаковые адреса, а и у других элементов
т.к. изменение значения для одного поля одной структуры приводит к изменению
значения поля уже другой структуры.
В чем ошибка?
Я вообще-то тоже начинающий сишник и поэтому деброво разбираю
синтаксис. Но имхо у тебя наезжает одно на другое. Особенно, если у
тебя #define MAX_NODES 301, то по-моему крайний элемент elem[601], а
не elem[602]
Номер выпуска : 5256
Возраст листа : 940 (дней)
Количество подписчиков : 544
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/538896
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru