Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Структура это объединенное в единое целое множество поименованных элементов данных (полей). Поля могут быть различного типа, они все должны иметь различные имена.
struct Date //объявляется с помощью ключевого слова struct
{
int day;
char month[10];
int year;
}; //объявление завершается точкой с запятой
Date birthday; //переменная типа Date
Когда объявляется переменная-структура, компилятор автоматически выделяет количество памяти, достаточное, чтобы разместить все ее члены:
day 4 байта |
|
Month 10 байт |
|
year 4 байта |
Объявляются переменные-структуры следующим образом:
Одновременно с объявлением структуры можно объявить одну или несколько переменных:
struct Date
{
int day;
char month[10];
int year;
}; data1, data2, data3, …, dataN;
Доступ к отдельным членам структуры осуществляется с помощью оператора "." (точка):
имя_объекта.имя_поля_структуры
//присваивание значений полям переменной birthday
data1.day =11; data1.month="март"; data1.year=1993;
Date Data;
// вывод на печать
printf("%d %s %d",data1.day, data1.month, data1.year);
Так как поле month является массивом символов, то чтобы получить доступ к отдельным символам в массиве data1.month, можно использовать индексы вместе с data1.month. Например, с помощью следующего кода можно посимвольно вывести на экран содержимое data1.month:
for(t=0; data1.month [t]; t++)
printf (data1.month [t]);
Из элементов структурного типа можно организовывать массивы также как из элементов стандартных типов. Чтобы объявить массив структур, вначале необходимо определить структуру, а затем объявить переменную массива этого же типа:
Date mas[15]; //массив структур создаем 15 наборов переменных, каждый из которых организован так, как в структуре Date
//ввод значений массива
for(int i=0;i<15;i++)
{
printf(”\nEnter day:”); scanf("%d",mas[i].day);
printf(”\nEnter month:”); scanf("%s",mas[i].month);
printf(”\nEnter year:”); scanf("%d",mas[i].year);
}