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

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

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

  

/* передача адреса структуры в функцию */

struct funds {

 char *bank;

 float bankfund;

 char *save;

 float savefund;

 } stan = {

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

 1023.43,

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

 4239.87

 };

main( )

{

float total, sum( );

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

}

float sum (money)

struct funds *money;

}

return( money-> bankfund + money-> savefund);

}

PИC. 14.7. Программа, передающая функции адрес структуры. Эта программа тоже выдает

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

Функция sum( ) имеет указатель (money) на структуру fund. Передача адреса &stan в функцию заставляет указатель money ссылаться на структуру stan. Затем используем операцию - > для получения значений элементов stan.bankfund и stan.savefund.

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

Наш следующий способ применим к массивам структур и является вариантом данного способа.

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

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

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

Как назначаются IP-адреса

Из книги Противодействие черному PR в Интернете автора Кузин Александр Владимирович

Как назначаются IP-адреса Мы не будем чересчур углубляться в вопросы организации компьютерных сетей, но расскажем лишь принцип организации назначения IP-адресов, дабы читатель, который ранее не интересовался этой проблемой, мог быстрее сориентироваться в дальнейшем


R.3.7 Адреса

Из книги Справочное руководство по C++ автора Страустрап Бьярн

R.3.7 Адреса Любой объект - это некоторая область памяти, адрес - выражение, ссылающееся на объект или функцию. Очевидным примером адреса будет имя объекта. Существуют операции, порождающие адреса, например, если E выражение типа указатель, то *E - адресное выражение,


16.1. Интернет-адреса

Из книги Самоучитель работы на компьютере автора Колисниченко Денис Николаевич


5.8 Адреса

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

5.8 Адреса В протоколе IP используются IP-адреса, которые идентифицируют хосты и маршрутизаторы для пересылки на них информации. Каждому хосту нужно присвоить уникальный IP-адрес, который и будет использоваться в реальном взаимодействии. Имена хостов транслируются в


22.5 Специальные адреса

Из книги Сетевые средства Linux автора Смит Родерик В.

22.5 Специальные адреса Существует несколько форматов специальных адресов


Маскировка адреса

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов. автора Дронов Владимир

Маскировка адреса При настройке почтового сервера нередко задается маскировка адреса. Согласно исходной конфигурации, устанавливаемой при инсталляции сервера SMTP, он сообщает другим серверам имя узла, которое было задано при настройке сети и возвращается по команде


Адреса

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов автора Дронов Владимир

Адреса Часто на Web-страницах указывают контактные данные их создателей (почтовые и электронные адреса, телефоны, факсы и пр.). Для этого HTML предусматривает особый тег <ADDRESS>. Он ведет себя так же, как тег абзаца <P>, но его содержимое выводится курсивом:<ADDRESS>Я — адрес


Адреса

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

Адреса Часто на Web-страницах указывают контактные данные их создателей (почтовые и электронные адреса, телефоны, факсы и пр.). Для этого HTML предусматривает особый тег <ADDRESS>. Он ведет себя так же, как тег абзаца <P>, но его содержимое выводится курсивом:<ADDRESS>Я — адрес


17.1.4. Адреса

Из книги Интернет – легко и просто! автора Александров Егор

17.1.4. Адреса Поскольку каждый протокол поддерживает собственное определение сетевого адреса, интерфейс сокетов должен абстрагировать адреса. В качестве базовой формы адреса используется структура struct sockaddr; его содержимое устанавливается по-разному для каждого


Адреса URL

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

Адреса URL Чтобы гиперссылки могли связать в единую сеть все веб-документы планеты, у каждой страницы в Интернете должен быть свой уникальный адрес. Этот адрес называют URL (Uniform Resource Locator – универсальный указатель ресурса).В URL входят имя домена, названия файла и каталога,


Формат адреса

Из книги UNIX: разработка сетевых приложений автора Стивенс Уильям Ричард

Формат адреса Формат адреса URL имеет следующий вид: Протокол://Адрес: Порт/Путь.– Протокол – необходимый в данном случае интернет-протокол. Вместо этого аргумента чаще всего стоит http – передача гипертекстовой информации, но могут быть также ftp – передача файлов, telnet –


IР-адреса

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

IР-адреса Вообще, доменные адреса предназначены исключительно для пользователей. Компьютеру же гораздо удобнее работать с цифровыми именами, называемыми IP-адресами. IP-адрес – это тот же адрес домена, но написанный на понятном компьютеру языке. Он состоит из 32-разрядного


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

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

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


3.2. Структуры адреса сокетов

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

3.2. Структуры адреса сокетов Большинство функций сокетов используют в качестве аргумента указатель на структуру адреса сокета. Каждый набор протоколов определяет свою собственную структуру адреса сокетов. Имена этих структур начинаются с sockaddr_ и заканчиваются


Адреса подсетей

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

Адреса подсетей Обычно IPv4-адреса разделяются на подсети (RFC 950 [79]). Такой подход добавляет еще один уровень иерархии адресов:? идентификатор сети (присваивается предприятию);? идентификатор подсети (выбирается предприятием);? идентификатор узла (выбирается


Частные адреса

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

Частные адреса RFC 1918 [101] выделяет три диапазона адресов для «частных интрасетей», то есть сетей, не имеющих прямого подключения к Интернету. Эти диапазоны представлены в табл. А.3.Таблица А.3. Диапазоны частных IP-адресов Количество