Доступ к элементу структуры при помощи указателя

Доступ к элементу структуры при помощи указателя

     him ссылается на структуру fellow[0]. Каким образом можно использовать him для получения значения элемента структуры fellow[0]? Третья выведенная строка даст для этого два способа.

     Первый способ, наиболее общий, использует новую операцию ->. Она заключается в вводе дефиса (-) и следующего за ним символа "больше чем" (>). Пример помогает понять смысл сказанного:

him -> income - это fellow[0].income,

                 если him = &fellow[0]

Другими словами, структурный указатель, за которым следует операция ->, работает так же, как имя структуры с последующей операцией ".". (Мы не можем сказать him.income, потому что him не является именем структуры.)

     Очень важно отметить, что him-указатель, а him - > income - элемент структуры, на которую делается ссылка. Таким образом, в этом случае him - > income является переменной типа float.

     Второй способ определения значения элемента структуры вытекает из последовательности:

если him == &fellow[0], то *him == fellow[0]. Это так, поскольку & и * - взаимообратные операции. Следовательно, после подстановки

fellow[0].income == (*him).income

     Круглые скобки необходимы, поскольку операция "." имеет приоритет выше, чем *.

     Отсюда можно сделать вывод, что если him является указателем на структуру fellow[0], то следующие обозначения эквивалентны:

fellow[0].income == (*him).income == him->income

     Давайте теперь посмотрим, как взаимодействуют структуры и функции.  

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

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

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

Н.3 Спецификация указателя

Из книги Информационная технология ПРОЦЕСС СОЗДАНИЯ ДОКУМЕНТАЦИИ ПОЛЬЗОВАТЕЛЯ ПРОГРАММНОГО СРЕДСТВА автора Автор неизвестен


Создание указателя

Из книги Word 2007.Популярный самоучитель автора Краинский И

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


Создание указателя

Из книги Основы AS/400 автора Солтис Фрэнк

Создание указателя Когда набор текста будет завершен и фразы, которые должны присутствовать в указателе, будут в него внесены, можно переходить к созданию указателя. Для этого сделайте следующее.1. Установите курсор в то место текста, куда должен быть вставлен указатель.2.


Удаление элемента из указателя

Из книги Справочник по PHP автора

Удаление элемента из указателя Для удаления элемента из указателя нужно удалить весь текст, помещенный в фигурные скобки. Чтобы текст указателя был виден, нужно включить режим отображения непечатаемых символов при помощи кнопки Отобразить все знаки в группе Абзац


Внутри указателя

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

Внутри указателя Указатель используется в AS/400 для доступа к объектам. В этом разделе мы сосредоточимся исключительно на формате разрешенного указателя. У разрешенного указателя две функции: он описывает объект и полномочия пользователя на этот объект; а также задает


Положение указателя текущей позиции

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

Положение указателя текущей позиции feofУказатель конца файла.Синтаксис:int feof(int $f)Возвращает true, если достигнут конец файла (то есть если указатель файла установлен за концом файла).Пример:$f=fopen("myfile.txt","r");while(!feof($f)){ $str=fgets($f); // Обрабатываем очередную строку


Доступ к нужному элементу Web-страницы

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

Доступ к нужному элементу Web-страницы В самом деле, перед тем как начать манипулировать элементом Web-страницы, точнее, представляющим его экземпляром объекта Element, нужно как-то получить к нему доступ. Как?Здесь нам помогут методы объекта Ext, которые мы сейчас


Доступ к нужному элементу Web-страницы

Из книги Язык программирования Си для персонального компьютера автора Бочков C. О.

Доступ к нужному элементу Web-страницы В самом деле, перед тем как начать манипулировать элементом Web-страницы, точнее, представляющим его экземпляром объекта Element, нужно как-то получить к нему доступ. Как?Здесь нам помогут методы объекта Ext, которые мы сейчас


13.4.2. Игнорирование указателя файла

Из книги Linux программирование в примерах автора Роббинс Арнольд

13.4.2. Игнорирование указателя файла Программы, использующие бинарные файлы, часто выглядят, как показано ниже.lseek(fd, SEEK_SET, offset1);read(fd, buffer, bufferSize);offset2 = someOperation(buffer);lseek(fd, SEEK_SET, offset2);read(fd, buffer2, bufferSize2);offset3 = someOperation(buffer2);lseek(fd, SEEK_SET, offset3);read(fd, buffer3, bufferSize3);Необходимость поиска нового


Объявление указателя

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

Объявление указателя Указатель — это переменная, предназначенная для хранения адреса объекта некоторого типа. Указатель на функцию содержит адрес точки входа в функцию.Синтаксис:[<спецификация типа]> *<описатель>;Объявление указателя специфицирует имя


ДОСТУП К ЭЛЕМЕНТАМ СТРУКТУРЫ

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

ДОСТУП К ЭЛЕМЕНТАМ СТРУКТУРЫ      Структура является разновидностью супермассива, в котором один элемент может быть массивом типа char, следующий - float и еще один int. Обычно можно обращаться к отдельным элементам массива, используя индекс. Как это сделать для отдельных


Описание и инициализация указателя на структуру

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

Описание и инициализация указателя на структуру      Вот самое простое описание, какое только может быть: struct guy *him;Первым стоит ключевое слово struct, затем слово guy, являющееся именем структурного шаблона, далее * и за нею имя указателя. Синтаксис тот же, как для описаний


7.9.1. Тип указателя на функцию

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

7.9.1. Тип указателя на функцию Как объявить указатель на функцию? Как выглядит формальный параметр, когда фактическим аргументом является такой указатель? Вот определение функции lexicoCompare(), которая сравнивает две строки лексикографически:#include stringint lexicoCompare( const string sl, const