46241

Структуры. Действия со структурами. Передача структур в функции

Доклад

Информатика, кибернетика и программирование

Объявление структуры следует рассматривать как объявление типа. В C структуры заключают в себе не только данные но и код и относятся к средствам объектноориентированного программирования. Объявление структуры которая хранит сведения о журнале: название год номер.mgzinmg = { Nture 3 1995;Доступ к элементам структуры осуществляется по составному имени:имя_структуры.

Русский

2013-11-20

14.1 KB

4 чел.

3.Структуры. Действия со структурами. Передача структур в функции.

Структура — это составной тип данных, который состоит из элементов разных типов. Объявление структуры следует рассматривать как объявление типа.

Замечание. В C++ структуры заключают в себе не только данные, но и код и относятся к средствам объектно-ориентированного программирования. В данном разделе объектные свойства структур не рассматриваются.

Пример. Объявление структуры, которая хранит сведения о журнале: название, год, номер.

structmagazin

char* tittle;
intyear;
intnumber;
};

Ниже определена и инициализирована переменная структура mag.
magazinmag = {"Nature", 3, 1995);

Доступ к элементам структуры осуществляется по составному имени:
имя_структуры.имя_элемента.

Здесь точка обозначает оператор выбора, а составное имя дает еще один пример адресного выражения.

Если есть указатель на структуру, то доступ к элементу возмо¬жен при помощи операции косвенного выбора:
указатель_на_структуру->имя_элемента.

Стрелка, составленная из двух символов, обозначает оператор косвенного выбора.
Структуры можно присваивать, передавать в виде параметров функции, возвращать в виде результата функции. Структуры нельзя сравнивать операциями ==, /=, < ,> и т.п. Структуры, как и массивы, можно инициализировать списком значений.

Пример. Работа со структурой magazin.

// объявления и инициализация
magazin *pm, m = ("Nature", 2000, 4};
// доступ к элементам
cout « m.tittle « " " « m.number « endl;
// одна структура в свободной памяти
*pm = newmagazin;
*pm = m;
pm->tittle = "Nature";
deletepm;

// массив структур в свободной памяти 
pm = newmagazin[10];
pm[0].tittle = "Природа";
delete[] pm; 

Передача структур в функцию

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

Когда структура используется как параметр, самое важное - это запомнить, что тип аргумента должен соответствовать типу параметра. Лучший способ сделать это - определить структуру глобально, а затем использовать ее ярлык для объявления необходимых структурных переменных и параметров. Например:

#include<stdio.h>

/* объявление типа структуры */
structstruct_type {
int a, b;
charch;
};

void f1(structstruct_typeparm);

intmain(void)
{
structstruct_typearg;    /* объявление arg */
arg.a = 1000;
f1(arg);
return 0;
}

void f1(structstruct_typeparm) {
printf("%d", parm.a);
}

Данная программа выводит число 1000 на экран. Можно видеть, что как arg, так и parm объявлены как структуры типа struct_type.


 

А также другие работы, которые могут Вас заинтересовать

61730. Как делаются слова. Снова суффиксы слов, называющих предметы 17.83 KB
  Словарный диктант. Жук жучек Еж ежик Конь конек Кот котик Как образовались новые слова При помощи чего Что такое суффикс Для чего он служит Сообщение темы урока. Научимся находить и в словах и выделять.
61731. Раздельное написание предлогов со словами 20.72 KB
  Карандаши лежат где Яблони и груши растут где Медведь живёт где Получил посылку где Всё лето мы отдыхали где Моя мама работает где Получил письмо от кого Петя пошел в магазин за чем Упражнение 5 на стр. Карандаши лежат где...
61732. Сочинение по картине В.Д. Поленова «Первый снег» («Ранний снег») 16.17 KB
  Подготовка учащихся к восприятию картины а Какой сейчас месяц ноябрь К какому времени года относится ноябрь к поздней осени Какие изменения происходят в природе характерные поздней осени Небо солнце осадки почва...
61733. Образование глаголов из других частей речи 12.33 KB
  На какие вопросы отвечают выписанные глаголы Какую часть называем глаголом III Постановка темы урока Мы продолжим изучать глаголы будем упражняться в их распознавании среди других частей речи и образовывать глаголы...
61734. Употребление глаголов в неопределенной форме 14.27 KB
  Часы услышала она голос. Что Часы Я сказал: снимите часы В моё жилище запрещено входить в часах.Оля сняла часы и положила их под камень у входа.
61735. Однокоренные слова с чередующимися согласными звуками в корне 20.12 KB
  Что такое корень слова Какие слова называются однокоренными Что такое чередование согласных звуков Где оно наблюдается Почему появляются чередующиеся согласные в корне Какие согласные звуки могут чередоваться...
61736. Общеупотребительные и необщеупотребительные слова 19.44 KB
  Обогатить словарный запас учащихся новой лексикой; способствовать развитию устной и письменной речи. Задачи: обучающие: формулировать понятия различать общеупотребительные и необщеупотребительные слова в частности профессионализмы. развивающие: совершенствовать умение воспринимать новую информацию в обобщенном виде; работа с толковым словарем; развитие устной и письменной речи.