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.


 

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

24628. Облік грошових коштів на поточних рахунках в банках 37 KB
  Облік грошових коштів на поточних рах. Для зберігання вільних грошових коштів і проведення безготівкових розрахунків підприємствам організаціям громадянам суб'єктам підприємницької діяльності в банках відкривають поточні рахунки згідно з Інструкцією №3 Про відкриття банками рахунків у національній і іноземній валюті затвердженою постановою правління Національного банку України. З поточного рахунка оплачуються операції що забезпечують виробничогосподарську комерційну та іншу діяльність; розрахунки за товарноматеріальні цінності з...
24630. Порядок нарахування з/п за невідпрацьований на підпр-ві час. Нарахування єдиного соціального внеску 31.5 KB
  Відповідно до кодексу законів про працю оплата за невідпрацьований час і за особливі умови праці передбачає різноманітні види оплат. Відрядникам доплата здійснюється за всі понад нормові години в розмірі 100 тарифної ставки за погодинною системою компенсація шляхом надання відпустки не допускається. оплата часу освоєння нової продукції здійснюється за середнім заробітком за попередні 6 місяців оплата при переведені на нижче оплачу вальну роботу та при переміщенні. При переміщенні працівника може знижуватись заробіток із незалежних від...
24631. Організація документування господарських операцій та документообігу 38.5 KB
  Документація – це спосіб суцільного і безперервного відображення об’єктів бух обліку шляхом використання бухгалтерських документів. У випадках установлених законодавством а також Міністерствами і відомствами бланки первинних документів можуть бути віднесені до бланків суворої звітності. Керівник також встановлює перелік осіб які мають право підпису грошових документів. Ці особи несуть відповідальність за своєчасне і якісне складання документів.
24632. Облік запасів підприємництва 31 KB
  Згідно з ПсБО 9 запаси – це активи які: 1 утримуються для подальшого продажу 2 перебувають у процесі вирва з метою подальшого продажу продукту вирва 3 утримуються для споживання під час вирва продії виконання робітта надання послуг а також управління вирвом. Обліку запаси включають: 1 сировину і основні матеріали 201 2 купівельні напівфабрикати та комплектуючі вироби 202 3 паливо 203 4 тара і тарні матеріали 204 5 будівельні матеріали 205 6 матеріали передані в переробку 206 7 запчастини 207 8матеріали г...
24633. Облік основних засобів 30 KB
  Облік основних засобів.Основні засобиїх класифікація і оцінка Методологією обліку основних засобів визначає ПсБО7Основні засоби. Обєкт основних засобів це закінчений пристрій з усіма пристосуваннями або окремий конструктивно відокремлений предмет що призначений для виконання певних самостійних функцій. Облік основних засобів ведеться на активному балансовому рахунку 10 – основні засоби.
24634. Облік нематеріальних активів 29 KB
  Облік нематеріальних активів Методологію обліку нематеріальних активів визначає ПсБО 8 нематеріальні активи Нематеріальний актив це актив який немає матеріальної форми може бути ідентифікований та утримується підприємством з метою використання на протязі більше одного року. Бух облік немат активів ведеться щодо кожного об’єкта за такими групами: А права користування природними ресурсами Б права користування майном В права на знаки для товарів і послуг тов.знаки торгові марки фірмові назви і т д Г права на об’єкти промислової...
24635. Особливості обліку МШП терміном експлуатації до і більше 1 року 32.5 KB
  Положенням стандартом 9 передбачено що з метою бухгалтерського обліку запаси включають:малоцінні і швидкозношувані предмети які використовуються не більше одного року або одного операційного циклу якщо він більше року. Малоцінні і швидкозношувані предмети строк корисного використання яких більше одного року обліковуються в складі інших необоротних матеріальних активів. Організація обліку малоцінних і швидкозношуваних предметів зі строком корисного використання менше одного року або одного операційного циклу повинна повністю...
24636. Амортизація необоротних активів. Методи нарахування та облік амортизації 30.5 KB
  Амортизація – це систематичний розподіл вартості яка амортизується протягом строку їх корисного використання. Зменшення залишкової вартості – виходить з того що корисність і продуктивність необ. Норма амортизації застосовується не до вартості що амортизується а до балансової залишкової вартості об’єкта на кінець попереднього періоду. Прискореного зменшення залишкової вартості складається у визначенні річної суми амортизації об’єкту основних засобів виходячи з основної вартості такого об’єкту на початок звітного року.