Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Операции над переменными структурного типа

Читайте также:
  1. Банковская система и ее структура. Основные функции и операции банков
  2. Врачебные ошибки: пример не диагностированной тяжелой ПЭ, непоказанной операции кесарева сечения, неправильно сделанной операции, неадекватной терапии ПЭ и Э.
  3. второй — операции, на основе которых перерабатывается готовая продукция.
  4. ГЛАВА 17. ОПЕРАЦИИ НА ГРУДНОЙ КЛЕТКЕ И ОРГАНАХ ГРУДНОЙ ПОЛОСТИ
  5. ГЛАВА 20. ОПЕРАЦИИ ПРИ ГРЫЖАХ БРЮШНОЙ СТЕНКИ
  6. ГЛАВА 21. ОПЕРАЦИИ НА ОРГАНАХ БРЮШНОЙ ПОЛОСТИ
  7. ГЛАВА 25. ОПЕРАЦИИ НА ОРГАНАХ МАЛОГО ТАЗА

ГЛАВА 11. СТРУКТУРЫ

Определение структуры

Операции над переменными структурного типа

Вложенные структуры

Массивы в структурахМассив структур

Структуры и указатели

· Указатели в структуре

· Указатели на структуру

Динамический массив структур

Ссылка на структуру

Структуры и функции

В С++ существуют специальные средства, позволяющие программистам создавать свои собственные типы данных, такие как структуры, классы и др.

Определение структуры

Структура – тип данных, объединяющий под одним именем несколько данных одного или разных типов, которые называются полями (элементами или членами) структуры. В качестве полей могут быть переменные простых типов, массивы, другие структуры, указатели и т.д. Структуры позволяют сгруппировать данные, объединяемые каким-либо общим понятием. Например, данные – имя, фамилия, год рождения, оценки по экзаменам можно поместить в структуру данных о студенте.

Для определения структуры используется ключевое слово struct, за которым следует идентификатор, являющийся именем типа структуры, и список полей или членов структуры, заключённых в фигурные скобки. Каждое поле структуры, как и структура в целом, заканчивается точкой с запятой. Например:

struct Date { // Date – название нового типа пользователя

char name[10]; // поле name

int year; // поле year

int month; // поле month

};

После того как определён структурный тип, пользоваться этим типом нельзя до того момента, пока не объявлена переменная структурного типа. Это можно сделать двумя способами:

Date st1; // переменная st1 типа Date

или

struct Date {

char name[10];

int year;

int month;

} st1;

При объявлении нескольких структурных переменных для одного структурного типа их следует разделять запятыми:

Date st1, st2;

В момент создания структурной переменной компилятор резервирует под неё место в памяти компьютера, В частности, для переменных st1, st2 резервируется память по 18 байтов для каждой.

Доступ к полям структуры осуществляется с помощью операции точка (.). При этом сначала записывается имя структурной переменной, а затем через операцию точку (.) имя поля структуры, например:

st1.name, st1.year.

Присваивать значения полям структуры можно одним из трёх способов:

st1.year = 1999; // использовать оператор присваивания

cin>>st1.name; // ввести значения полей с клавиатуры

Date st1 = {"Иванов", 1999, 11}; // инициализация при объявлении

Операции над переменными структурного типа

Чаще всего над переменными структурного типа выполняют операцию присваивания. Присваивание структур возможно, только если они имеют один и тот же тип:

Date st1, st2, st3;

st2 = st1; // все поля структуры st1 побитово копируются в st2

Недопустимо присваивание структур разных типов, даже в том случае, когда они идентичны по количеству, типу и размеру их полей.

Несмотря на возможность присваивания однотипных структурных переменных, сравнивать их нельзя:

Date st1, st2;

if(st1 == st2) оператор; // Нельзя: ошибка компиляции!

Единственный доступный способ достоверно сравнить структурные переменные – это их поэлементное сравнение:

if(st1.day == st2.day) && (st1.month == st2. month) оператор;


Дата добавления: 2015-08-03; просмотров: 71 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
ИДЕНТИФИКАЦИЯ, УСВОЕНИЕ СОЦИАЛЬНЫХ РОЛЕЙ. САМОСОЗНАНИЕ И ЕГО ФУНКЦИИ| Структуры и функции

mybiblioteka.su - 2015-2024 год. (0.006 сек.)