Структури като аргументи на функция

Int nVar; дълго 1Var; Накратко shVar; неподписан Int uiVar;

функция прототип е, например, да има формата: нищожен Func (ALLNUMB);

По този начин има функция за трансфер в организма чрез структура тип стойност параметър. По този начин, структуриран модификация на оригиналния обект не е предмет. Функцията може да връща обект от тип структура:

В този случай, променените данни, когато функцията не е загубена, и ще бъдат прехвърлени към функцията за повикване.

Вземем примера на предавателната функция в структурата на Къща описано по-горе за показване на номера на име на улица и къща, съдържаща се в него.

неподписан кратко Регнум;

неподписан кратко MaxFloorNum;

неподписан кратко MaxFlatNum;

strcpy (MyHouse.Street "Гогол Street.");

нищожен OutAddress (Къща)

Cout «house.Street« ","; Cout «house.HouseNum« '\ Н ";

Обадете OutAddress функция (MyHouse) предава формира структура на тялото, достъп до членовете, които се извършват в съответствие с горното правило, с характер "точка" (.). Ще се покаже резултат:

структура масив

Сам по себе си един запис тип структура в повечето случаи е малко вероятно да доведе до повишен интерес. Въпреки това, когато структурирани данни са обединени в масиви, то вече не за един обект е, но на цялата база данни.

Достъп до елементите на масива по обичайния начин, например, на индекс (индексиране провеждат, като се започва от нула). Следващият фрагмент от код изпълнява цикъл на пълнене КЪЩА подредена структура на номера на къщи, а след това да извежда данни, записани в графата на екрана:

за (INT I = 0; и<30; i++)

за (INT I = 0; и<30; i++)

Cout «mDistrfi] .HouseNum« '\ Н ";

Спомнете си, че функцията за конвертиране на цяло число към символен низ itoa () трябва да се свърже stdlib.h модул.

Тъй като структурата на запис, много често има значителен размер (може да включва масиви от елементи, различни структури и т.н.) трябва да бъдат взети под внимание от ограничения на паметта при избора sootvetstvuyushaya модел.