Использование элементов структуры

Использование элементов структуры

     Поскольку элемент структуры является переменной с единственным значением (т.е. типа int или одного из его "родственников" - char, float, double или указатель), он может быть передан как аргумент функции. Простая программа финансовых расчетов на рис. 14.6, которая прибавляет взнос клиента к его счету, иллюстрирует этот способ. Заметим, между прочим, что мы объединили определение шаблона, описание переменной и инициализацию в один оператор.

/* передача элементов структуры как аргументов функции */

struct funds {

char *bank;

float bankfund;

char *save;

float savefund; }

stan =  { " Банк синьора Помидора",

            1023.43,

            " Сбережения и займы Снупи",

            4239.87 };

main( )

{

float total, sum( );

extern struct funds stan;   /* необязательное описание */

printf("У Стэна всего %.2f долл. ", sum(stan.bankfund,

                                        stan.savefund));

}

/* складывает два числа типа float */

float sum(x, у);

float x, у;

{ return( x + y); }

РИС. 14.6. Программа, передающая функции аргументы, являющиеся элементами структуры.

 Результат выполнения этой программы:

У Стэна всего 5263.30 долл.

Вот это да, она работает. Заметим, что функция sum( ) "не знает", или же си безразлично, являются ли элементами структуры фактические аргументы; она только "требует", чтобы они имели тип float.

     Конечно, если вы хотите, чтобы программа воздействовала на значение элемента в вызывающей программе, можно передать ей адрес этого элемента:

modify(&stan.bank fund);

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

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

2.1.3. Структуры

Из книги Программирование на языке Пролог автора Клоксин У.

2.1.3. Структуры Третьим видом терма, присутствующим в Пролог-программах, является структура. Структура – это единый объект, состоящий из совокупности других объектов, называемых компонентами. Компоненты группируются в структуру для удобства их использования.В реальной


Тип структуры

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Тип структуры Понятие структуры в CTS также формализовано. Если вы знаете C, вам будет приятно узнать, что эти пользовательские типы "выжили" и в мире .NET (хотя внутренне они ведут себя немного по-иному). Упрощенно говоря, структура - это "облегченный" тип класса с семантикой на


ГЛАВА 21. Использование элементов управления Windows Forms

Из книги ArchiCAD 11 автора Днепров Александр Г

ГЛАВА 21. Использование элементов управления Windows Forms Эта глава представляет собой краткое руководство по использованию элементов управления, определенных в пространстве имен System.Windows.Forms. В главе 19 вы уже имели возможность поработать с некоторыми элементами управления,


Глава 5 Использование библиотечных элементов

Из книги Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT автора Фролов Александр Вячеславович

Глава 5 Использование библиотечных элементов • Работа с библиотекой стандартных элементов• Проектирование дверей• Проектирование окон• Проектирование лестниц• Источники света• Предметы интерьераЗаложить фундамент, построить стены и накрыть их крышей – задача


Структуры

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Структуры Понятие структуры в языке Си++ значительно расширено. Структура в Си++ обладает всеми возможностями классов. В структуры Си++ можно включать не только элементы данных, но и методы. Вы можете наследовать от структур новые структуры, точно также как вы наследуете


У9.3 Совместное использование стека достижимых элементов

Из книги Информатика: аппаратные средства персонального компьютера автора Яшин Владимир Николаевич

У9.3 Совместное использование стека достижимых элементов (Это упражнение подразумевает знакомство с результатами лекции 18) Перепишите компонент available, задающий стек достижимых элементов при подходе на уровне компонентов. Единственный стек должен совместно


6.5. Файловые структуры

Из книги Программирование на языке Пролог для искусственного интеллекта автора Братко Иван

6.5. Файловые структуры Файловая структура может быть одно– или многоуровневой. В одноуровневой структуре на носителе информации имена файлов образуют линейную последовательность, в многоуровневой, или иерархической,  – древовидную структуру. Примером такой структуры


Использование элементов управления ActiveX

Из книги Язык Си - руководство для начинающих автора Прата Стивен

Использование элементов управления ActiveX Вопреки сложившейся репутации программного империалиста, Microsoft стремится сделать свои средства разработки полностью "открытыми". Основываясь на спецификациях ActiveX, любой программист может создавать новые элементы управления,


Добавление новых элементов в панель элементов управления

Из книги iOS. Приемы программирования автора Нахавандипур Вандад

Добавление новых элементов в панель элементов управления Чтобы получить возможность использовать элемент управления ActiveX, выполните следующее.1. Установите программное обеспечение элемента управления на жесткий диск.Мне кажется, это имеет смысл.2. Зарегистрируйте


Использование элементов управления ActiveX в программах

Из книги Разработка ядра Linux автора Лав Роберт

Использование элементов управления ActiveX в программах Добавив элемент управления ActiveX в панель Toolbox, вы можете добавлять его в свои формы точно так же, как стандартные элементы управления VBA. Правда, чтобы заставить элемент управления делать что-нибудь полезное, нужно


Использование адреса структуры

Из книги автора

Использование адреса структуры      Мы будем решать ту же самую задачу, что и прежде, но при этом использовать адрес структуры в качестве аргумента. Это хорошо, поскольку адрес представляет собой только одно число. Так как функция должна работать со структурой funds, она


Хранение элементов в коллекциях и получение элементов из коллекций

Из книги автора

Хранение элементов в коллекциях и получение элементов из коллекций Коллекции — это такие объекты, в экземплярах которых могут храниться другие объекты. Одна из самых распространенных разновидностей коллекций — это массив, который инстанцирует NSArray или NSMutableArray. В


4.2. Использование дополнительных элементов в ячейке табличного вида

Из книги автора

4.2. Использование дополнительных элементов в ячейке табличного вида Постановка задачи Требуется привлечь внимание пользователя, отображая в таблице дополнительные элементы, и предложить альтернативные способы взаимодействия с каждой ячейкой в табличном


Структуры kref

Из книги автора

Структуры kref Внутреннее представление счетчика ссылок выполнено с помощью структуры kref, которая определена в файле <linux/kref.h> следующим образом.struct kref { atomic_t refcount;};Единственное поле этой структуры — атомарная переменная, в которой хранится значение счетчика ссылок.