Массив структур в Borland 3.1 работает, а в 4.5 нет - C (СИ)
Формулировка задачи:
int kol =7;
struct College
{char fio[15];
char pol[1];
float z_plata;
int data[3];
};
struct College sot[]=
{
"Ivanov A.B. ","m" ,2500.50,30,1,1954,
"Ctepanov G.B. ","m" ,2700.50,19,7,1975,
"Petrova A.B. ","f" ,2100.50,15,4,1969,
"Kop4ik A.B. ","m" ,2300.50,6,3,1982,
"Xrebtova O.F. ","f" ,2150.50,3,10,1983,
"Dynda C.B. ","m" ,2320.50,12,12,1978,
"Radionova 9l.D.","f" ,1900.50,23,10,1966
};Решение задачи: «Массив структур в Borland 3.1 работает, а в 4.5 нет»
textual
Листинг программы
struct College sot[] = {
{ "Ivanov A.B. ", "m" , 2500. 50, 30, 1, 1954 },
{ "Ivanov A.B. ", "m" , 2500. 50, 30, 1, 1954 },
Объяснение кода листинга программы
- Структура
Collegeобъявлена с массивомsot[]содержащимsizeof(College)элементов. - Каждый элемент массива
sot[]инициализируется с помощью списка инициализации в фигурных скобках. - В каждом элементе массива
sot[]первое поле структурыCollegeинициализируется строкойIvanov A.B.(16 символов). - Второе поле структуры
Collegeинициализируется строкойm(2 символа). - Третье поле структуры
Collegeинициализируется числом2500(5 символов). - Четвертое поле структуры
Collegeинициализируется числом50(2 символа). - Пятое поле структуры
Collegeинициализируется числом30(2 символа). - Шестое поле структуры
Collegeинициализируется числом1(1 символ). - Седьмое поле структуры
Collegeинициализируется числом1954(5 символов). - Список инициализации завершается точкой с запятой.
- Объявление массива структур
sot[]завершается точкой с запятой. - Завершается объявление структуры
College. - В
sizeof(College)элементах массиваsot[]содержится информация о семи полях структурыCollege. - Каждое поле структуры
Collegeзанимает определенное количество памяти в байтах. - Общий размер структуры
Collegeв байтах равенsizeof(College). - В
sizeof(sot)байтах содержится информация о массиве структурsot[]. - Если структура
Collegeзанимает 24 байта, то массивsot[]занимаетsizeof(sot)байт. - Если
sizeof(sot)байта хватает для хранения информации оsizeof(College)элементах, то каждая инициализированная структураsot[]занимаетsizeof(College)байт. - Если
sizeof(sot)байта хватает для хранения информации оsizeof(College)элементах, то каждая инициализированная структураsot[]занимаетsizeof(College)байт. - Если
sizeof(sot)байта хватает для хранения информации оsizeof(College)элементах, то каждая инициализированная структураsot[]занимаетsizeof(College)байт.