Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Структура модуля.

Читайте также:
  1. III. СОЦИАЛЬНО-ПСИХОЛОГИЧЕСКАЯ СТРУКТУРА ГРУППЫ
  2. III. Структура та управління психологічною службою
  3. IV.Структура, порядок изложения и оформления работы
  4. А) Структура
  5. Агропромисловий комплекс України, його значення, структура й регіональні особливості трансформації в ринкових умовах.
  6. Архитектура и структура современных ЭВМ. Основные устройства и их назначение.
  7. Архітектура інтелектуальних систем: Загальна структура і компоненти інтелектуальної системи.

СписокИнструкцийПрепроцессора

СписокОператоров

Макроопределение

Оператор

Оператор

Оператор

Оператор

#define Идентификатор СтрокаЛексем

ОбъявлениеПеременной

ОбъявлениеФункции

ОпределениеФункции

ОпределениеФункции

#define IdHello "Hello…"

int *pIntVal[5];

/*

Объявлена переменная типа массив указателей размерности 5 на объекты типа int с именем pIntVal.

*/

СпецификаторОбъявления Описатель;

СпецификаторОбъявления Описатель ТелоФункции

СпецификаторОбъявления Описатель ТелоФункции

#define IdHello "Hello…"

int *pIntVal[5];

int Описатель (СписокОбъявленийПараметров);

float Описатель (СпецификаторОбъявления Имя) ТелоФункции

unsigned int MyFun2 (int Param1,...) СоставнойОператор

#define IdHello "Hello…"

int *pIntVal[5];

int MyFun1 (

СпецификаторОбъявления,

СпецификаторОбъявления АбстрактныйОписатель Инициализатор,

);

float MyFun2 (СпецификаторОбъявления ИмяОписатель)

ТелоФункции

unsigned int MyFun3 (int Param1,...) {СписокОператоров}

#define IdHello "Hello…"

int *pIntVal[5];

int MyFun1 (float, int *[5] = pIntVal);

/*

Объявление функции. В объявлении второго параметра используется

абстрактный описатель - он описывает нечто абстрактное, а, главное,

безымянное, вида *[5]. Судя по спецификатору объявления int,

расположенному перед описателем, "нечто" подобно массиву указателей

на объекты типа int из пяти элементов (подробнее о массивах после).

И эта безымянная сущность инициализируется с помощью инициализатора.

*/

float MyFun2 (char chParam1)

{

СписокОператоров

}

unsigned int MyFun3 (int Param1, …)

{СписокОператоров}

#define IdHello "Hello…"

int *pIntVal[5];

int MyFun1 (float, int *[5] = pIntVal); // Объявление функции.

// Определены две функции…

float MyFun2 (char chParam1)

{

extern int ExtIntVal;

char *charVal;

}

unsigned int MyFun3 (int Param1, …)

{

const float MMM = 233.25;

int MyLocalVal;

}

Итак, наш программный модуль представляет собой множество инструкций препроцессора и операторов. Часть операторов играет роль объявлений. С их помощью кодируется необходимая для транслятора информация о свойствах объектов. Другая часть операторов является определениями и предполагает в ходе выполнения программы совершение разнообразных действий (например, создание объектов в различных сегментах памяти).

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

С процессом выполнения программы связана своеобразная система понятий. Когда говорят, что в программе управление передаётся какому-либо оператору, то имеют в виду, что в исполнительном модуле процессор приступил к выполнению множества команд, соответствующих данному оператору.

 


Дата добавления: 2015-10-13; просмотров: 106 | Нарушение авторских прав


Читайте в этой же книге: Динамические массивы. Особенности обработки динамических массивов. | ИНДЕКСАЦИЯ В МАССИВАХ | Указатели на функции. Особенности использования. | Классификация динамических структур данных | Строки. Операции над строками. Указатели на строки. | Структурные типы данных: структуры. Особенности использования. | Основы файловой системы: файл, каталог, дисковод, полное имя файла, внутреннее представление информации в файле. Типы файлов. | Память. Классы памяти. Модификаторы классов памяти. Область видимости, время жизни и место размещения объекта в памяти. | Достоинства, отличительные особенности и сравнительная характеристика языка программирования Си. | Создание файла проекта. Объектные файлы. Раздельная компиляция. Make-файлы. |
<== предыдущая страница | следующая страница ==>
Модульное программирование. Структура модуля. Законы видимости| Назначение

mybiblioteka.su - 2015-2024 год. (0.005 сек.)