ОПРЕДЕЛЕНИЕ СТРУКТУРНЫХ ПЕРЕМЕННЫХ

ОПРЕДЕЛЕНИЕ СТРУКТУРНЫХ ПЕРЕМЕННЫХ

     Слово "структура" используется двояко. Во-первых, в смысле "структурного шаблона", о котором мы только что рассказали. Шаблон является схемой без содержания; он сообщает компилятору, как делать что-либо, но нс вызывает никаких действий в программе. Следующий шаг заключается в создании "структурной переменной"; это и есть второй смысл слона структура. Строка нашей программы, создающая структурную переменную, выглядит так:

struct book libry;

На основании этого оператора компилятор создаст переменную libry. Согласно плану, установленному шаблоном book, он выделяет память для символьного массива, состоящего из MAXTIT-элементов, для символьного массива из MAXAUT-элементов и для переменной типа float. Эта память объединяется под именем libry. (В следующем разделе мы расскажем, как ее "разъединить", если понадобится.)

  

РИС. 14.1. Распределение памяти для структуры.

     В этом описании struct book играет ту же роль, что и int или float в своих описаниях. Например, мы могли бы описать две переменные типа struct book или даже указатель на этот тип структуры:

struct book doyle panshin, *ptbook;

     Каждая структурная переменная, doyle и panshin, имела бы части title, author и value. Указатель ptbook мог бы ссылаться на doyle, panshin или любую другую book-структуру. Для компьютера оператор нашей программы

struct book libry;

является сокращенной записью

struct book libry;

является сокращенной записью

struct book {

char title [MAXTIT];

char author [MAXAUT];

float value;

} libry; /* присоединяет имя переменной к шаблону */

Другими словами, процесс определения структурного шаблона и процесс определения структурной переменной можно объединить в один этап. Объединение шаблона и определений переменных является именно тем случаем, когда не нужно использовать имя типа структуры:

struct { /* без имени типа структуры */

char title [MAXTIT];

char author [MAXAUT];

float value;

}   libry;

Форма с именем типа структуры удобнее, если вы используете структурный шаблон более одного раза.

     Есть один аспект определения структурной переменной, который не нашел отражения в нашем примере - инициализация. Теперь мы хотим заняться этим вопросом.

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

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

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

4. Типы переменных

Из книги Программирование автора Козлова Ирина Сергеевна

4. Типы переменных IntegerЦелочисленные переменные способны хранить только не очень большие целые числа, которые располагаются в диапазоне от –32768 до +32767. Арифметические операции над подобными числами производятся очень быстро. Для обозначения подобного типа применяется


30. Имена переменных

Из книги Советы по Delphi. Версия 1.0.6 автора Озеров Валентин

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


Получение переменных DOS

Из книги Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ автора Мейерс Скотт

Получение переменных DOS Какие функции Windows API позволяют получить переменные DOS?Функция GetEnvironmentStrings возвращает адрес памяти со средой текущего процесса. Все переменные возвращаются в виде строк, оканчивающихся нулем. Набор строк терминируется двумя нулями.Функция


Правило 26: Откладывайте определение переменных насколько возможно

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

Правило 26: Откладывайте определение переменных насколько возможно Всякий раз при объявлении переменной, принадлежащий типу, в котором есть конструктор или деструктор, программа тратит время на ее конструирование, когда поток управления достигнет определения


Функции переменных

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

Функции переменных gettypeПолучает тип переменной.Синтаксис:string gettype(mixed var);Возвращает тип переменной PHP var.Возможные значения для возвращаемой строки:intvalВозвращает целочисленное значение переменной.Синтаксис:int intval(mixed var, int [base]);Возвращает целочисленное значение


Именование переменных

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

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


Объявление переменных

Из книги Технология XSLT автора Валиков Алексей Николаевич

Объявление переменных Перед использованием переменной в коде Web-сценария рекомендуется выполнить ее объявление. Для этого служит оператор объявления переменной var, после которого указывают имя переменной:var x;Теперь объявленной переменной можно присвоить какое-либо


Именование переменных

Из книги VBA для чайников автора Каммингс Стив

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


Объявление переменных

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

Объявление переменных Перед использованием переменной в коде Web-сценария рекомендуется выполнить ее объявление. Для этого служит оператор объявления переменной var, после которого указывают имя переменной:var x;Теперь объявленной переменной можно присвоить какое-либо


Объявление переменных

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

Объявление переменных Как уже говорилось в главе 6, объявление - это VBA-оператор, с помощью которого вы сообщаете компилятору о своих намерениях использовать именованный объект и явно описываете тип этого объекта. Операторы объявлений чаще всего используются для


Объявление переменных

Из книги Описание языка PascalABC.NET автора Коллектив РуБоард

Объявление переменных В этом разделе дано последовательное описание синтаксиса и семантики объявлений переменных. Разновидности переменных перечислены в следующей таблице:Таблица 3.4. Вид переменной Пояснение Простая переменная Скалярная переменная целого или


4.1. Подстановка переменных

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

4.1. Подстановка переменных Когда интерпретатор встречает в тексте сценария имя переменной, то он вместо него подставляет значение этой переменной. Поэтому ссылки на переменные называются подстановкой переменных.$Необходимо всегда помнить о различиях между именем


Определение переменных и понятие о них

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

Определение переменных и понятие о них Во всех современных языках программирования, в том числе в Objective-C, существуют переменные. Переменные — это просто псевдонимы, обозначающие участки (местоположения) в памяти. Каждая переменная может иметь следующие свойства:тип