Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Краткие теоретические сведения. Структура – это структурированный тип данных, представляющий собой поименованную совокупность разнотипных элементовСтруктура – это структурированный тип данных, представляющий собой поименованную совокупность разнотипных элементов. Тип структура обычно используется при разработке информационных систем, баз данных. Формат описания структурного типа следующий: struct имя_типа {определения_элементов}; В конце обязательно ставится точка с запятой (это оператор). Элементы структуры называются полями. Каждому полю должно быть поставлено в соответствие имя и тип. Например, сведения о выплате студентам стипендии требуется организовать в виде: | struct student {char fam[30]; int kurs; char grup[5]; float stip;}; После этого student становится именем структурного типа, который может быть назначен некоторым переменным. В соответствии со стандартом СИ это нужно делать так: struct student stud1, stud2; Здесь stud1 и stud2 – переменные структурного типа. Допускается и другой вариант описания структурных переменных, когда можно вообще не задавать имя типа, а описывать сразу переменные: struct {char fam[30]; int kurs; char grup[5]; float stip; } stud1, stud2, *pst; В этом примере кроме двух переменных структурного типа объявлен указатель pst на такую структуру. Обращение к полям структурной величины производится с помощью уточненного имени следующего формата: имя_структуры. имя_элемента Примеры уточненных имен для описанных выше переменных: stud1.fam; stud1.stip; Значения элементов структуры могут определяться вводом, присваиванием, инициализацией. Пример инициализации в описании: student stud1={“Кротов”, 3, “ПО313”, 350}; Пусть в программе определен указатель на структуру student *pst, stud1; Тогда после выполнения оператора присваивания pst=&stud1; к каждому элементу структурной переменной stud1 можно обращаться тремя способами. Например, для поля fam stud1.fam или (*pst).fam или pst->fam В последнем варианте используется знак операции доступа к элементу структуры: ->. Аналогично можно обращаться и к другим элементам этой переменной. Допускается использование массивов структур. Например, сведения о 100 студентах могут храниться в массиве, описанном следующим образом: student stud[100]; Тогда сведения об отдельных студентах будут обозначаться, например, так: stud[1].fam, stud[5].kurs и т.п. Если нужно взять первую букву фамилии 25-го студента, то следует писать: stud[25].fam[0]. Пример 1. Ввести сведения об N студентах. Определить фамилии студентов, получающих самую высокую стипендию. # include <stdio.h> # include <conio.h> void main() { const N=30; int i; long maxs; struct student {char fam[15]; int kurs; char grup[3]; long stip; }; student stud[N]; clrscr(); for (i=0; i<N; i++) { printf(“%d-й студент”,i); printf(“\n”Фамилия:”); scanf(“%s”,&stud[i].fam); printf(“Курс:”); scanf(“%d”,&stud[i].kurs); printf(“Группа:”); scanf(“%s”,&stud[i].grup); printf(“Стипендия:”); scanf(“%ld”,&stud[i].stip); } maxs=0; for (i=0; i<N; i++) if (stud[i].stip>maxs) maxs=stud[i].stip; printf(“\n Студенты, получающие макс. стипендию %ld руб.”, maxs); for (i=0; i<N; i++) if (stud[i].stip==maxs) printf(“\n%s”, stud[i].fam);}
|