ОБЪЯВЛЕНИЯ
ОБЪЯВЛЕНИЯ
В этом разделе описываются формат и составные части объявлений переменных, функций и типов. В разделе 2.1 были введены понятия объявления и определения. Далее по тексту будем для краткости называть и объявления, и определения "объявлениями", если явно не конкретизируется то или иное понятие.
Объявления в языке Си имеют следующий синтаксис:
<спецификация КП>
<спецификация типа>
<описатель> [=<инициализатор>] [,<описатель> [= <инициализатор>…]];
где:
<спецификация КП> — спецификация класса памяти;
<спецификация типа> — имя типа, присваиваемого объекту;
<описатель> — идентификатор простой переменной либо более сложная конструкция при объявлении переменной составного типа;
<инициализатор> — значение или последовательность значений, присваиваемых переменной при объявлении.
В некоторых случаях спецификация класса памяти и/или спецификация типа может быть опущена.
Все переменные в языке Си должны быть явно объявлены перед их использованием, за исключением формальных параметров, имеющих тип int. Функции могут быть объявлены явно, посредством задания объявления или определения функции, либо неявно, если их вызов следует до определения или объявления.
Спецификация класса памяти влияет на то, в какой области памяти хранится объявляемый объект, производится ли его неявная инициализация и на какие участки программы распространяется его область действия. Местоположение объявления в программе, а также наличие или отсутствие других объявлений этой же переменной также существенны при определении ее области действия. Классы памяти описаны в разделе 3.6.
В языке Си определен набор базовых типов данных. Новые типы данных можно добавлять к этому набору посредством их объявления на основе уже определенных типов данных. Спецификация типа позволяет задавать для объекта либо базовый тип данных (см. раздел 3.1), либо структурный тип (см. раздел 3.4.3), либо тип объединение (см. раздел 3.4.4).
Не считается ошибкой объявление внешнего уровня, в котором отсутствует и спецификация класса памяти, и спецификация типа. В этом случае предполагается тип int. Однако объявление, состоящее только из идентификатора, например
n;
недопустимо, т.е. простая переменная не может быть объявлена подобным образом; может быть объявлен указатель, массив или функция.
Объявление должно содержать один или более описателей. В простейшем случае, когда объявляется простая переменная, тип которой задан <спецификацией типа>, описатель представляет собой идентификатор. Для объявления массива значений специфицированного типа (см. раздел 3.4.5), либо функции, возвращающей значение специфицированного типа (см. раздел 3.5), либо указателя на значение специфицированного типа (см. раздел 3.4.6), идентификатор дополняется, соответственно, квадратными скобками, круглыми скобками или звездочкой. В одном объявлении может быть задано несколько описателей различных объектов, имеющих одинаковый класс памяти и тип.
Определения функций описаны в разделе 6.2, инициализаторы — в разделе 3.7.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
«Резюме». Объявления и ответы на них
«Резюме». Объявления и ответы на них Какую бы стратегию вы ни выбрали – «атака» или «засада», – вам необходимо то, что в профессиональных кругах называется «резюме». Небольшой рассказ о себе – и, возможно, о том, что вы ждете от кандидата в знакомые… друзья… очень
Объявления
Объявления Объявление - это оператор, сообщающий компилятору VBA о ваших намерениях по поводу использования в программе именованного объекта (переменной, константы, пользовательского типа данных или процедуры). Кроме того, объявление задает тип объекта и обеспечивает
Явные объявления приветствуются
Явные объявления приветствуются Независимо от того, решите вы назначать конкретные типы данных переменным или нет, каждую переменную перед использованием следует объявить. Как серьезный программист, вы можете сделать так, чтобы VBA заставлял вас объявлять переменные.
8.2.1. Объявления и определения
8.2.1. Объявления и определения Как было сказано в главе 7, объявление функции устанавливает ее имя, а также тип возвращаемого значения и список параметров. Определение функции, помимо этой информации, задает еще и тело – набор инструкций, заключенных в фигурные скобки.
8.6.2. Using-объявления
8.6.2. Using-объявления Имеется механизм, позволяющий обращаться к членам пространства имен, используя их имена без квалификатора, т.е. без префикса namespace_name::. Для этого применяются using-объявления.Using-объявление начинается ключевым словом using, за которым следует
9.1. Объявления перегруженных функций
9.1. Объявления перегруженных функций Теперь, научившись объявлять, определять и использовать функции в программах, познакомимся с перегрузкой – еще одним аспектом в C++. Перегрузка позволяет иметь несколько одноименных функций, выполняющих схожие операции над
10.5.3. Явные объявления конкретизации
10.5.3. Явные объявления конкретизации При использовании модели с включением определение шаблона функций включается в каждый исходный файл, где встречается конкретизация этого шаблона. Мы отмечали, что, хотя неизвестно, где и когда понадобится шаблон функции, программа
16.8.3. Явные объявления конкретизации
16.8.3. Явные объявления конкретизации При использовании модели с включением определение члена шаблона класса помещается в каждый исходный файл, где может употребляться конкретизированный экземпляр. Точно неизвестно, где и когда компилятор конкретизирует такое
Стиль объявления скрытых компонент
Стиль объявления скрытых компонент Использованный выше стиль объявления скрытой компоненты i не слишком удачен. Это хорошо видно в следующем примере (Не рекомендуемый стиль (см. ниже S5).)class S4 featureexported ...feature {}secret ...endгде secret является скрытой компонентой, а exported -
Запрет повторного объявления
Запрет повторного объявления Обсуждение утверждений в начале лекции дало нам теоретическое понимание сути переопределений. Часть "Открыт" принципа Открыт-Закрыт дает возможность изменять компоненты потомков, но под контролем утверждений. Разрешены лишь те повторные
Правило повторного объявления типов
Правило повторного объявления типов Примеры, рассмотренные выше, несмотря на все их различия, объединяет необходимость повторного объявления типов. Спуск по иерархии наследования означает специализацию классов, и в соответствии со специализацией изменяются типы
Закрепленные объявления
Закрепленные объявления Правило повторного объявления типов способно свести на нет целый ряд преимуществ наследования. Почему это происходит и каково решение данной